export interface DataQuery {
    /** The query statement. */
    QueryStatement: string;
    /** The table configuration. */
    TableConfigurations?: Record<string, any>;
}
export interface DestinationConfigurations {
    /** An object that describes the destination of the data exports file. */
    S3Destination: any;
}
export interface RefreshCadence {
    /** The frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. */
    Frequency: 'SYNCHRONOUS';
}
export interface Export {
    /** The Amazon Resource Name (ARN) for this export. */
    ExportArn?: string;
    /** The name of this specific data export. */
    Name: string;
    /** The description for this specific data export. */
    Description?: string;
    /** The data query for this specific data export. */
    DataQuery: DataQuery;
    /** The destination configuration for this specific data export. */
    DestinationConfigurations: DestinationConfigurations;
    /** The cadence for Amazon Web Services to update the export in your S3 bucket. */
    RefreshCadence: RefreshCadence;
}
export interface ResourceTag {
    /** The key that's associated with the tag. */
    Key: string;
    /** The value that's associated with the tag. */
    Value: string;
}
export interface CreateExportInput {
    /** The details of the export, including data query, name, description, and destination configuration. */
    Export: Export;
    /** An optional list of tags to associate with the specified export. Each tag consists of a key and a value, and each key must be unique for the resource. */
    ResourceTags?: ResourceTag[];
}
export interface DeleteExportInput {
    /** The Amazon Resource Name (ARN) for this export. */
    ExportArn: string;
}
export interface GetExecutionInput {
    /** The ID for this specific execution. */
    ExecutionId: string;
    /** The Amazon Resource Name (ARN) of the Export object that generated this specific execution. */
    ExportArn: string;
}
export interface GetExportInput {
    /** The Amazon Resource Name (ARN) for this export. */
    ExportArn: string;
}
export interface GetTableInput {
    /** The name of the table. */
    TableName: string;
    /** TableProperties are additional configurations you can provide to change the data and schema of a table. Each table can have different TableProperties. Tables are not required to have any TableProperti */
    TableProperties?: Record<string, string>;
}
export interface ListExecutionsInput {
    /** The Amazon Resource Name (ARN) for this export. */
    ExportArn: string;
    /** The maximum number of objects that are returned for the request. */
    MaxResults?: number;
    /** The token to retrieve the next set of results. */
    NextToken?: string;
}
export interface ListExportsInput {
    /** The maximum number of objects that are returned for the request. */
    MaxResults?: number;
    /** The token to retrieve the next set of results. */
    NextToken?: string;
}
export interface ListTablesInput {
    /** The maximum number of objects that are returned for the request. */
    MaxResults?: number;
    /** The token to retrieve the next set of results. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The unique identifier for the resource. */
    ResourceArn: string;
    /** The maximum number of objects that are returned for the request. */
    MaxResults?: number;
    /** The token to retrieve the next set of results. */
    NextToken?: string;
}
export interface TagResourceInput {
    /** The unique identifier for the resource. */
    ResourceArn: string;
    /** The tags to associate with the resource. Each tag consists of a key and a value, and each key must be unique for the resource. */
    ResourceTags: ResourceTag[];
}
export interface UntagResourceInput {
    /** The unique identifier for the resource. */
    ResourceArn: string;
    /** The tag keys that are associated with the resource ARN. */
    ResourceTagKeys: string[];
}
export interface UpdateExportInput {
    /** The name and query details for the export. */
    Export: Export;
    /** The Amazon Resource Name (ARN) for this export. */
    ExportArn: string;
}
/** BCM Data Exports service binding for Step Functions SDK integrations. */
export declare class BCMDataExports {
    constructor();
    createExport<T>(params: CreateExportInput): Promise<T>;
    deleteExport<T>(params: DeleteExportInput): Promise<T>;
    getExecution<T>(params: GetExecutionInput): Promise<T>;
    getExport<T>(params: GetExportInput): Promise<T>;
    getTable<T>(params: GetTableInput): Promise<T>;
    listExecutions<T>(params: ListExecutionsInput): Promise<T>;
    listExports<T>(params: ListExportsInput): Promise<T>;
    listTables<T>(params: ListTablesInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateExport<T>(params: UpdateExportInput): Promise<T>;
}
//# sourceMappingURL=BCMDataExports.d.ts.map