import { Expression, QueryDefinition, Table, Template, Type } from '../..'; export declare const CREATE_TABLE: (config: CreateTableConfig) => QueryDefinition, boolean, any>>>>; export declare type PartitionBoundConfig = 'DEFAULT' | { in?: Expression[]; bounds?: { from: (Expression | 'MINVALUE' | 'MAXVALUE')[]; to: (Expression | 'MINVALUE' | 'MAXVALUE')[]; }; with?: { modulus?: number; remainder?: number; }; }; export interface CreateTableConfig { namespace?: 'GLOBAL' | 'LOCAL'; type?: 'TEMPORARY' | 'UNLOGGED'; ifNotExists?: boolean; partitionOf?: string; schema: Table | string | { name: Table | string; columns: Table | Record; constraints?: Template[]; }; forValues?: PartitionBoundConfig; inherits?: string[]; partitionBy?: { type: 'RANGE' | 'LIST' | 'HASH'; by: (string | Expression)[]; }; using?: string; with?: Record | 'WITHOUT OIDS'; onCommit?: 'PRESERVE ROWS' | 'DELETE ROWS' | 'DROP'; tablespace?: string; } export declare const stringifyCreateTableConfig: (config: CreateTableConfig) => Template; export declare const stringifyName: (config: CreateTableConfig['schema']) => import("../..").Sqlable; export declare const stringifyConstraints: (config: CreateTableConfig['schema']) => Template; export declare const stringifyForValues: (config: PartitionBoundConfig) => Template; export declare const stringifyPartitionBy: (config?: CreateTableConfig['partitionBy']) => Template;