import { H3lp, IStringHelper } from 'h3lp';
import { ExprH3lp } from '3xpr';
import { SchemaHelper } from '../../schema/infrastructure';
import { Logger } from '../domain/ports/logger';
import { SentenceAction, SentenceCategory, SentenceInfo, SentenceType } from '../../schema/domain';
export declare class YamlWrapper {
    load(yaml?: string | null): any;
    dump(obj?: any | null, options?: any): string;
}
export declare class QueryHelper {
    private readonly str;
    constructor(str: IStringHelper);
    escapeId(name: string): string;
    escape(name: string): string;
    arrayToList(array: any[], timeZone: string): string;
    format(sql: string, values: any[], stringifyObjects: string, timeZone: string): string;
    dateToString(date: Date, timeZone?: string): string;
    dateFormat(value: any, format?: string): string;
    bufferToString(buffer: Buffer): string;
    raw(sql: string): string;
    transformParameter(name: string): string;
    getSentenceType(action: SentenceAction): SentenceType;
    getSentenceCategory(action: SentenceAction): SentenceCategory;
    getInfo(action: SentenceAction, entity: string, type?: SentenceType): SentenceInfo;
}
export declare class UUIDWrapper {
    v4(): string;
    isUuid(id: string): boolean;
    empty(): string;
    fromString(text: string, namespace?: string): string;
    jsonSchema(): any;
}
export declare class OrmBaseH3lp extends ExprH3lp {
    readonly logger: Logger;
    schema: SchemaHelper;
    yaml: YamlWrapper;
    query: QueryHelper;
    uuid: UUIDWrapper;
    constructor(h3lp: H3lp, logger: Logger);
}
