import type { SelectQuery, InsertQueryConversionOptions, UpdateQueryConversionOptions, DeleteQueryConversionOptions, MergeQueryConversionOptions } from "./SelectQuery";
import { SimpleSelectQuery } from "./SimpleSelectQuery";
import { SqlParameterValue } from "./ValueComponent";
import { SqlComponent } from "./SqlComponent";
import { WithClause } from "./Clause";
import { TupleExpression } from "./ValueComponent";
import type { InsertQuery } from "./InsertQuery";
import type { UpdateQuery } from "./UpdateQuery";
import type { DeleteQuery } from "./DeleteQuery";
import type { MergeQuery } from "./MergeQuery";
/**
 * Represents a VALUES query in SQL.
 */
export declare class ValuesQuery extends SqlComponent implements SelectQuery {
    static kind: symbol;
    readonly __selectQueryType: 'SelectQuery';
    headerComments: string[] | null;
    withClause: WithClause | null;
    tuples: TupleExpression[];
    /**
     * Column aliases for the VALUES query.
     * These represent the logical column names for each value tuple.
     * Note: This property is optional and is not referenced during SQL output, but is used when converting to a SimpleSelectQuery.
     */
    columnAliases: string[] | null;
    constructor(tuples: TupleExpression[], columnAliases?: string[] | null);
    toSimpleQuery(): SimpleSelectQuery;
    /**
     * Converts this VALUES query into an INSERT statement definition.
     * @remarks The conversion may reorder the generated SELECT clause to align with the requested column order.
     */
    toInsertQuery(options: InsertQueryConversionOptions): InsertQuery;
    /**
     * Converts this VALUES query into an UPDATE statement definition.
     * @remarks The conversion may reorder the generated SELECT clause to align with the requested column order.
     */
    toUpdateQuery(options: UpdateQueryConversionOptions): UpdateQuery;
    /**
     * Converts this VALUES query into a DELETE statement definition.
     * @remarks The conversion may reorder the generated SELECT clause to align with the requested column order.
     */
    toDeleteQuery(options: DeleteQueryConversionOptions): DeleteQuery;
    /**
     * Converts this VALUES query into a MERGE statement definition.
     * @remarks The conversion may reorder the generated SELECT clause to align with the requested column order.
     */
    toMergeQuery(options: MergeQueryConversionOptions): MergeQuery;
    /**
       * Sets the value of a parameter by name in this query.
       * @param name Parameter name
       * @param value Value to set
       */
    setParameter(name: string, value: SqlParameterValue): this;
}
