import { ISQLFlavor } from "./Flavor";
import { SelectQuery } from "./Query";
import { IMetadata, ISequelizable, ISerializable, MetadataOperationType, OperationType } from "./interfaces";
export declare class CreateTableAsSelect implements ISerializable, ISequelizable, IMetadata {
    private _tableName;
    private _select;
    constructor(_tableName: string, _select: SelectQuery);
    clone(): this;
    getOperationType(): MetadataOperationType;
    getTableNames(): string[];
    toSQL(flavor?: ISQLFlavor): string;
    serialize(): string;
    toJSON(): {
        type: OperationType;
        select: any;
        tableName: string;
    };
    static fromJSON({ tableName, select }: any): CreateTableAsSelect;
    getTableName(): string;
    getSelect(): SelectQuery;
}
