import { WhereStatement } from './WhereStatement'; import { Raw } from './Raw'; import { StringKey, Selection, TransformColumnDefinition, TransformPossibleColumnDefinition } from './ColumnDefinition'; export declare class SelectStatement extends WhereStatement { protected selectionDefs: Raw[]; protected keyspaceDef: Raw; protected columnFamilyDef: Raw; protected orderByDefs: Raw[]; protected limitDef?: number; protected distinctDef: boolean; protected allowFilteringDef: boolean; distinct(value?: boolean): this; count(): this; select(selection: '*'): SelectStatement; select>(selection: SS): SelectStatement ? { [K2 in A]: R[K]; } : never)>; select>(select: K[]): SelectStatement>; select, A extends string>(select: K, alias: A): SelectStatement; keyspace(name: string | Raw): this; from(name: string | Raw): this; from(keyspace: string | Raw, name: string | Raw): this; orderBy>(name: K, order: 'ASC' | 'DESC'): this; limit(value: number): this; allowFiltering(value?: boolean): this; protected validate(): void; protected getParams(): any[]; protected getQuery(): string; build(): Raw; }