import { AthenaClientConfig } from '@aws-sdk/client-athena';

interface AthenaConnectionConfig extends AthenaClientConfig {
    database: string;
    outputLocation: string;
    workGroup?: string;
    maxTimeoutMilliseconds?: number;
}
declare class AthenaConnection {
    private readonly client;
    private readonly database;
    private readonly outputLocation;
    private readonly workGroup?;
    private readonly maxTimeoutMilliseconds;
    constructor({ database, outputLocation, workGroup, maxTimeoutMilliseconds, ...config }: AthenaConnectionConfig);
    private startQueryExecutionCommand;
    private getQueryExecutionCommand;
    private getQueryResultsCommand;
    private isQueryExecutionUnfinished;
    private waitForQueryExecution;
    private mapQueryResults;
    query<T extends Record<string, unknown>>(queryString: string, parameters?: string[]): Promise<number | T[] | undefined>;
}

export { AthenaConnection, type AthenaConnectionConfig };
