import { Athena } from 'aws-sdk'; import { Transform } from 'stream'; import { AthenaRequest, AthenaRequestConfig } from './request'; export interface AthenaExecutionResult { records: T[]; queryExecution: Athena.QueryExecution; } export interface AthenaExecutionSelect { toPromise: () => Promise>; toStream: () => Transform; } export interface AthenaClientConfig extends AthenaRequestConfig { pollingInterval?: number; queryTimeout?: number; concurrentExecMax?: number; execRightCheckInterval?: number; skipFetchResult?: boolean; } export declare function setConcurrentExecMax(val: number): void; export declare class AthenaClient { private config; private concurrentExecNum; private request; constructor(request: AthenaRequest, config: AthenaClientConfig); execute(query: string): AthenaExecutionSelect; execute(query: string, callback: (err?: Error, result?: AthenaExecutionResult) => void): void; private _execute; private canStartQuery; private startQuery; private endQuery; }