import { ISQLFlavor } from "../Flavor";
import { IQueryTarget, ISequelizableOptions } from "../interfaces";
import { DeleteMutation, InsertMutation, UpdateMutation } from "../Mutation";
import { SelectQuery } from "../Query";
/**
 * SQL Target - wraps existing ISQLFlavor system for backward compatibility.
 * This target compiles queries to SQL strings using the provided SQL flavor.
 */
export declare class SQLTarget implements IQueryTarget<string> {
    private flavor;
    private options?;
    constructor(flavor: ISQLFlavor, options?: ISequelizableOptions);
    /**
     * Get the underlying SQL flavor
     */
    getFlavor(): ISQLFlavor;
    /**
     * Get the sequelizable options
     */
    getOptions(): ISequelizableOptions | undefined;
    /**
     * Create a new SQLTarget with different options
     */
    withOptions(options: ISequelizableOptions): SQLTarget;
    compileSelect(query: SelectQuery): string;
    compileInsert(mutation: InsertMutation): string;
    compileUpdate(mutation: UpdateMutation): string;
    compileDelete(mutation: DeleteMutation): string;
}
