import { SelectStatement } from './SelectStatement'; import { InsertStatement } from './InsertStatement'; import { UpdateStatement } from './UpdateStatement'; import { DeleteStatement } from './DeleteStatement'; import { WhereStatement } from './WhereStatement'; import { Raw } from './Raw'; import { TransformColumnDefinition, TransformPossibleColumnDefinition, Selection, StringKey } from './ColumnDefinition'; export interface MaterializedViewOptions { bloomFilterFpChance?: number; comment?: string; crcCheckChance?: number; dclocalReadRepairChange?: number; defaultTimeToLive?: number; gcGraceSeconds?: number; maxIndexInterval?: number; memtableFlushPeriodInMs?: number; minIndexInterval?: number; readRepairChance?: number; speculativeRetry?: string; caching?: { keys?: string; rowsPerPartition?: string; }; compression?: { chunkLengthInKb?: number; class?: string; enabled?: boolean; }; compaction?: { class?: string; maxThreshold?: number; minThreshold?: number; }; [name: string]: any; } export declare class CreateMaterializedViewStatement = never, J extends StringKey = never, N extends string = never> extends WhereStatement { static Update: typeof UpdateStatement; static Insert: typeof InsertStatement; static Delete: typeof DeleteStatement; protected materializedViewDef: Raw; protected ifNotExistsDef: boolean; protected keyspaceDef: Raw; protected optionsDef: MaterializedViewOptions; protected columnFamilyDef: Raw; protected columnDefs: (keyof R)[]; protected partitionKeyDefs: I[]; protected clusteringKeyDefs: J[]; protected clusteringOrderDefs: ([J, 'ASC' | 'DESC'])[]; keyspace(name: string | Raw): this; as(name: string | Raw): this; as(keyspace: string | Raw, name: string | Raw): this; withOptions(options: MaterializedViewOptions): this; ifNotExists(value?: boolean): this; from(name: string | Raw): this; columns(columns: '*'): this; columns>(...columns: B[]): CreateMaterializedViewStatement, Pick, never, never, N>; partitionKeys>(...columns: B[]): CreateMaterializedViewStatement; clusteringKeys>(...columns: B[]): CreateMaterializedViewStatement; withClusteringOrder(...clusteringOrders: ([J, 'ASC' | 'DESC'])[]): this; protected validate(): void; protected getParams(): any[]; protected getQuery(): string; build(): Raw; select(): SelectStatement; 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; }