import { IDataBaseExtender, NonFunctionPropertyNames, IBaseModule, SingleValue, ArrayValue, NumberValue, IChildQueryLoader, IChildLoader, IQuaryResult, IQuery, IQueryResultItem, IDatabase, StringValue, IId } from './expo.sql.wrapper.types'; export declare const getColumns: (fn: any) => any; export declare class Query, D extends string> implements IQuery { Queries: any[]; tableName: D; Children: IChildLoader[]; database: IDataBaseExtender; private currentIndex; constructor(tableName: D, database: IDatabase); private hasNext; private prevColumn; private prevValue; private nextValue; private getLast; private cleanLast; private getValue; private validateValue; private validate; Column(columnName: NonFunctionPropertyNames): this; EqualTo(value: SingleValue): this; NotEqualTo(value: SingleValue): this; EqualAndGreaterThen(value: NumberValue | StringValue): this; EqualAndLessThen(value: NumberValue | StringValue): this; Start(): this; End(): this; OR(): this; AND(): this; GreaterThan(value: NumberValue | StringValue): this; LessThan(value: NumberValue | StringValue): this; IN(value: ArrayValue): this; NotIn(value: ArrayValue): this; Null(): this; NotNull(): this; Contains(value: StringValue): this; StartWith(value: StringValue): this; EndWith(value: StringValue): this; OrderByAsc(columnName: NonFunctionPropertyNames): this; OrderByDesc(columnName: NonFunctionPropertyNames): this; Limit(value: number): this; LoadChildren>(childTableName: D, parentProperty: NonFunctionPropertyNames): IChildQueryLoader; LoadChild>(childTableName: D, parentProperty: NonFunctionPropertyNames): IChildQueryLoader; getQueryResult(operation?: "SELECT" | "DELETE"): IQuaryResult; delete(): Promise; firstOrDefault(): Promise>; findOrSave(item: T & IBaseModule): Promise>; toList(): Promise[]>; }