declare abstract class Abstract {
    protected RESULT: any;
    protected TRANSACTION: any;
    protected REGISTRY: any;
    protected PLUCK: string;
    protected SAVE: string;
    protected DELETE: string;
    protected UPDATE: string;
    protected INSERT: string;
    protected SELECT: string;
    protected ONLY: Array<string>;
    protected EXCEPT: Array<string>;
    protected COUNT: string;
    protected FROM: string;
    protected JOIN: string;
    protected WHERE: string;
    protected GROUP_BY: string;
    protected ORDER_BY: string;
    protected LIMIT: string;
    protected HAVING: string;
    protected TABLE_NAME: string;
    protected TIMESTAMP: boolean;
    protected HIDDEN: Array<any>;
    protected PATTERN: any;
    protected CONNECTION: any;
    protected CONSTANT: any;
    protected DIALECT: any;
    protected DEBUG: boolean;
    protected UUID: boolean;
    protected UUID_CUSTOM: string;
    protected HELPER: any;
    abstract debug(): void;
    abstract select(...params: string[]): void;
    abstract whereNull(column: string): void;
    abstract whereNotNull(column: string): void;
    abstract where(column: string, operator: string, value: string): void;
    abstract whereSensitive(column: string, operator: string, value: string): void;
    abstract whereId(id: number): void;
    abstract whereUser(id: number): void;
    abstract whereEmail(value: string): void;
    abstract whereGroupStart(column: string, operator: string, value: string): void;
    abstract whereGroupEnd(column: string, operator: string, value: string): void;
    abstract orWhereGroupStart(column: string, operator: string, value: string): void;
    abstract orWhereGroupEnd(column: string, operator: string, value: string): void;
    abstract orWhere(column: string, operator: string, value: string): void;
    abstract whereIn(column: string, arrayValues: Array<any>): void;
    abstract orWhereIn(column: string, arrayValues: Array<any>): void;
    abstract whereNotIn(column: string, arrayValues: Array<any>): void;
    abstract whereSubQuery(column: string, subQuery: string): void;
    abstract whereNotInSubQuery(column: string, subQuery: string): void;
    abstract orWhereSubQuery(column: string, subQuery: string): void;
    abstract whereBetween(column: string, arrayValue: Array<any>): void;
    abstract having(condition: string): void;
    abstract join(pk: string, fk: string): void;
    abstract orderBy(column: string, order: string): void;
    abstract latest(column: string): void;
    abstract oldest(column: string): void;
    abstract groupBy(column: string): void;
    abstract limit(number: number): void;
    abstract hidden(...columns: string[]): void;
    abstract insert(objects: object): void;
    abstract create(objects: object): void;
    abstract update(objects: object): void;
    abstract insertNotExists(objects: object): void;
    abstract createNotExists(objects: object): void;
    abstract upsert(objects: object): void;
    abstract insertOrUpdate(objects: object): void;
    abstract createOrUpdate(objects: object): void;
    abstract updateOrInsert(objects: object): void;
    abstract updateOrCreate(objects: object): void;
    abstract all({ debug }: {
        debug: boolean;
    }): Promise<any>;
    abstract find(id: number, { debug }: {
        debug: boolean;
    }): Promise<any>;
    abstract pagination({ limit, page, debug }: {
        limit: number;
        page: number;
        debug: boolean;
    }): Promise<any>;
    abstract queryStatement(sql: string): Promise<any>;
    abstract actionStatement({ sql, returnId }: {
        sql?: string;
        returnId?: boolean;
    }): Promise<any>;
    abstract first({ debug }: {
        debug: boolean;
    }): Promise<any>;
    abstract get({ debug }: {
        debug: boolean;
    }): Promise<any>;
    abstract findOne({ debug }: {
        debug: boolean;
    }): Promise<any>;
    abstract findMany({ debug }: {
        debug: boolean;
    }): Promise<any>;
    abstract getByGroup(column: string, { debug }: {
        debug: boolean;
    }): Promise<any>;
    abstract findManyByGroup(column: string, { debug }: {
        debug: boolean;
    }): Promise<any>;
    abstract toArray(column: string, { debug }: {
        debug: boolean;
    }): Promise<any>;
    abstract toJSON({ debug }: {
        debug: boolean;
    }): Promise<any>;
    abstract toSQL({ debug }: {
        debug: boolean;
    }): string;
    abstract toString({ debug }: {
        debug: boolean;
    }): string;
    abstract count(column: string, { debug }: {
        debug: boolean;
    }): Promise<any>;
    abstract sum(column: string, { debug }: {
        debug: boolean;
    }): Promise<any>;
    abstract avg(column: string, { debug }: {
        debug: boolean;
    }): Promise<any>;
    abstract max(column: string, { debug }: {
        debug: boolean;
    }): Promise<any>;
    abstract min(column: string, { debug }: {
        debug: boolean;
    }): Promise<any>;
    abstract delete({ debug }: {
        debug: boolean;
    }): Promise<any>;
    abstract exists({ debug }: {
        debug: boolean;
    }): Promise<any>;
    abstract save({ debug }: {
        debug: boolean;
    }): Promise<any>;
}
export default Abstract;
