import { ConditionFunction } from '../../condition' import { KeyVal, TableInfo } from '../../types' import { DialectBase, DialectKind, IDialectBase } from './' export interface IDialectLimitOffset { limit(limit: number, offset?: number): IDialectBase } export interface IDialectOrderBy { orderBy( order?: { [P in keyof M]?: 'ASC' | 'DESC' } ): IDialectLimitOffset & IDialectBase } export interface IDialectWhere { where( condition?: ConditionFunction ): IDialectBase & IDialectOrderBy } export declare class ReadDialect extends DialectBase { constructor( info: TableInfo, sql: string, kind: DialectKind, aliases?: KeyVal>, map?: any ) limit(limit: number, offset?: number): IDialectBase orderBy( order?: { [P in keyof M]?: 'ASC' | 'DESC' } ): IDialectLimitOffset & IDialectBase where( condition?: ConditionFunction ): IDialectOrderBy & IDialectLimitOffset & IDialectBase }