import { ColumnInfo } from './types' export declare class Condition { _sql: string[] alias?: string descriptor: {} columns: { [key: string]: { primary: boolean } & ColumnInfo } constructor( descriptor: {}, columns: { [key: string]: { primary: boolean } & ColumnInfo }, alias?: string ) equals(p: { [key in keyof Partial]: any }): this notEquals(p: { [key in keyof Partial]: any }): this greaterThan(p: { [key in keyof Partial]: any }): this greaterThanOrEqual(p: { [key in keyof Partial]: any }): this lessThan(p: { [key in keyof Partial]: any }): this lessThanOrEqual(p: { [key in keyof Partial]: any }): this in(p: { [key in keyof Partial]: any[] }): this between(p: { [key in keyof Partial]: any[] }): this contains(p: { [key in keyof Partial]: string }): this startsWith(p: { [key in keyof Partial]: string }): this endsWith(p: { [key in keyof Partial]: string }): this readonly or: this group(fn: (c: Condition) => any): this field(fn: (k: T) => void): string sql(): string protected _thisField(field: string): string } export declare type ConditionFunction = ( condition: Condition ) => Condition