import * as events from "aws-cdk-lib/aws-events";
import * as kms from "aws-cdk-lib/aws-kms";
import * as s3 from "aws-cdk-lib/aws-s3";
import * as sfn from "aws-cdk-lib/aws-stepfunctions";
import * as tasks from "aws-cdk-lib/aws-stepfunctions-tasks";
import { Construct } from "constructs";
import { StateMachineStage, StateMachineStageProps } from "../pipelines/stage";
/**
 * Properties for `AthenaSQLStage`.
 */
export interface AthenaToSQLStageProps extends StateMachineStageProps {
    /**
     * SQL queries that will be started.
     */
    readonly queryString?: Array<string>;
    /**
     * dynamic path in statemachine for SQL query to be started.
     */
    readonly queryStringPath?: string;
    /**
     * flag to determine parallel or sequential execution
     * @default false
     */
    readonly parallel?: boolean;
    /**
     * Athena workgroup name.
     */
    readonly workGroup?: string;
    /**
     * Catalog name.
     */
    readonly catalogName?: string;
    /**
     * Database name.
     */
    readonly databaseName?: string;
    /**
     * Output S3 location
     */
    readonly outputLocation?: s3.Location;
    /**
     * Encryption KMS key.
     */
    readonly encryptionKey?: kms.Key;
    /**
     * Encryption configuration.
     */
    readonly encryptionOption?: tasks.EncryptionOption;
}
/**
 * Stage that contains a step function that execute Athena SQL query.
 */
export declare class AthenaSQLStage extends StateMachineStage {
    readonly targets?: events.IRuleTarget[];
    readonly eventPattern?: events.EventPattern;
    readonly stateMachine: sfn.StateMachine;
    readonly stateMachineInput?: {
        [key: string]: any;
    };
    readonly eventBridgeEventPath?: string;
    /**
     * Constructs `AthenaSQLStage`.
     * @param scope Scope within which this construct is defined.
     * @param id Identifier of the stage.
     * @param props Properties for the stage.
     */
    constructor(scope: Construct, id: string, props: AthenaToSQLStageProps);
    private getAthenaStartQueryExecutionStep;
}
