import { ICondition } from './condition'; export declare abstract class Table { private _findFields(); } export interface IField { selectExpr: string; alias?: string; } export declare class Field implements IField { selectExpr: string; alias: string; constructor(selectExpr: string, alias?: string); toString(): string; equals(value: string | number): ICondition; notEqual(value: string | number): ICondition; in(values: number[] | string[]): ICondition; notIn(values: number[] | string[]): ICondition; isNull(): ICondition; protected op(op: string, value: any): ICondition; } export declare class StringField extends Field { like(value: string): ICondition; isNullOrEmpty(): ICondition; } export declare class NumberField extends Field { between(min: number, max: number): ICondition; notBetween(min: number, max: number): ICondition; gt(value: number): ICondition; gte(value: number): ICondition; lt(value: number): ICondition; lte(value: number): ICondition; } export declare class BooleanField extends Field { isTrue(): ICondition; isFalse(): ICondition; } export declare class DateField extends Field { before(date: string): ICondition; before(date: number): ICondition; before(date: Date): ICondition; after(date: string): ICondition; after(date: number): ICondition; after(date: Date): ICondition; from(date: string): ICondition; from(date: number): ICondition; from(date: Date): ICondition; until(date: string): ICondition; until(date: number): ICondition; until(date: Date): ICondition; }