import { CreateTableContext, HintsContext, PartitionedByContext } from '../lib/FlinkSQLParser';
import { FlinkSQLParserListener } from '../lib/FlinkSQLParserListener';
export interface PreviewTableContext {
    catalogName: string;
    databaseName: string;
    tableName: string;
    temporary: boolean;
}
export interface PreviewSourceContext extends PreviewTableContext {
    uri?: string;
}
export declare type PreviewSinkContext = PreviewTableContext;
export interface PreviewContext {
    sources: PreviewSourceContext[];
    sinks: PreviewSinkContext[];
}
export declare class PreviewListener implements FlinkSQLParserListener {
    private originalScript;
    private context;
    private replaceItems;
    private offset;
    constructor(originalScript: string, context: PreviewContext);
    get previewScript(): string;
    private replaceSubstring;
    private compareTableName;
    private handleCreateTemporaryTable;
    enterCreateTable(ctx: CreateTableContext): void;
    enterPartitionedBy(ctx: PartitionedByContext): void;
    enterHints(ctx: HintsContext): void;
}
export declare function appendCreateNonTemporaryTables(origin: string, context: PreviewContext): string;
