import { ISQLFlavor } from "./Flavor";
import { SelectQuery } from "./Query";
import { IMetadata, ISequelizable, ISerializable, ISerializableOptions, MetadataOperationType, OperationType } from "./interfaces";
export declare class CreateViewAsSelect implements ISerializable, ISequelizable, IMetadata {
    private _viewName;
    private _select;
    private _orReplace;
    constructor(_viewName: string, _select: SelectQuery, _orReplace?: boolean);
    clone(): this;
    getOperationType(): MetadataOperationType;
    getTableNames(): string[];
    toSQL(flavor?: ISQLFlavor): string;
    serialize(opts?: ISerializableOptions): string;
    toJSON(): {
        type: OperationType;
        select: any;
        viewName: string;
        orReplace: boolean;
    };
    static fromJSON({ viewName, select, orReplace }: any): CreateViewAsSelect;
    getViewName(): string;
    getSelect(): SelectQuery;
    getOrReplace(): boolean;
}
