export interface EncryptionConfiguration {
    kmsKeyId: string;
    kmsEncryptionContext?: Record<string, string>;
}
export interface Tag {
    key: string;
    value: string;
}
export interface DocumentStandardOutputConfiguration {
    extraction?: any;
    generativeField?: any;
    outputFormat?: any;
}
export interface ImageStandardOutputConfiguration {
    extraction?: any;
    generativeField?: any;
}
export interface VideoStandardOutputConfiguration {
    extraction?: any;
    generativeField?: any;
}
export interface AudioStandardOutputConfiguration {
    extraction?: any;
    generativeField?: any;
}
export interface StandardOutputConfiguration {
    document?: DocumentStandardOutputConfiguration;
    image?: ImageStandardOutputConfiguration;
    video?: VideoStandardOutputConfiguration;
    audio?: AudioStandardOutputConfiguration;
}
export interface CustomOutputConfiguration {
    blueprints?: any[];
}
export interface DocumentOverrideConfiguration {
    splitter?: any;
    modalityProcessing?: any;
    sensitiveDataConfiguration?: any;
}
export interface ImageOverrideConfiguration {
    modalityProcessing?: any;
    sensitiveDataConfiguration?: any;
}
export interface VideoOverrideConfiguration {
    modalityProcessing?: any;
    sensitiveDataConfiguration?: any;
}
export interface AudioOverrideConfiguration {
    modalityProcessing?: any;
    languageConfiguration?: any;
    sensitiveDataConfiguration?: any;
}
export interface ModalityRoutingConfiguration {
    jpeg?: 'IMAGE' | 'DOCUMENT' | 'AUDIO' | 'VIDEO';
    png?: 'IMAGE' | 'DOCUMENT' | 'AUDIO' | 'VIDEO';
    mp4?: 'IMAGE' | 'DOCUMENT' | 'AUDIO' | 'VIDEO';
    mov?: 'IMAGE' | 'DOCUMENT' | 'AUDIO' | 'VIDEO';
}
export interface OverrideConfiguration {
    document?: DocumentOverrideConfiguration;
    image?: ImageOverrideConfiguration;
    video?: VideoOverrideConfiguration;
    audio?: AudioOverrideConfiguration;
    modalityRouting?: ModalityRoutingConfiguration;
}
export interface BlueprintOptimizationObject {
    /** Arn of blueprint. */
    blueprintArn: string;
    /** Stage of blueprint. */
    stage?: 'DEVELOPMENT' | 'LIVE';
}
export interface BlueprintOptimizationSample {
    /** S3 Object of the asset */
    assetS3Object: any;
    /** Ground truth for the Blueprint and Asset combination */
    groundTruthS3Object: any;
}
export interface S3Object {
    /** S3 uri. */
    s3Uri: string;
    /** S3 object version. */
    version?: string;
}
export interface BlueprintOptimizationOutputConfiguration {
    /** S3 object. */
    s3Object: S3Object;
}
export interface DataAutomationProjectFilter {
    projectArn: string;
    projectStage?: 'DEVELOPMENT' | 'LIVE';
}
export interface BlueprintFilter {
    blueprintArn: string;
    blueprintVersion?: string;
    blueprintStage?: 'DEVELOPMENT' | 'LIVE';
}
/** CopyBlueprintStage Request */
export interface CopyBlueprintStageInput {
    /** Blueprint to be copied */
    blueprintArn: string;
    /** Source stage to copy from */
    sourceStage: 'DEVELOPMENT' | 'LIVE';
    /** Target stage to copy to */
    targetStage: 'DEVELOPMENT' | 'LIVE';
    /** Client token for idempotency */
    clientToken?: string;
}
/** Create Blueprint Request */
export interface CreateBlueprintInput {
    blueprintName: string;
    schema: string;
    type: 'DOCUMENT' | 'IMAGE' | 'AUDIO' | 'VIDEO';
    blueprintStage?: 'DEVELOPMENT' | 'LIVE';
    clientToken?: string;
    encryptionConfiguration?: EncryptionConfiguration;
    tags?: Tag[];
}
/** Create Blueprint Version Request */
export interface CreateBlueprintVersionInput {
    /** ARN generated at the server side when a Blueprint is created */
    blueprintArn: string;
    clientToken?: string;
}
/** Create DataAutomationProject Request */
export interface CreateDataAutomationProjectInput {
    projectName: string;
    standardOutputConfiguration: StandardOutputConfiguration;
    clientToken?: string;
    customOutputConfiguration?: CustomOutputConfiguration;
    encryptionConfiguration?: EncryptionConfiguration;
    overrideConfiguration?: OverrideConfiguration;
    projectDescription?: string;
    projectStage?: 'DEVELOPMENT' | 'LIVE';
    projectType?: 'ASYNC' | 'SYNC';
    tags?: Tag[];
}
/** Delete Blueprint Request */
export interface DeleteBlueprintInput {
    /** ARN generated at the server side when a Blueprint is created */
    blueprintArn: string;
    /** Optional field to delete a specific Blueprint version */
    blueprintVersion?: string;
}
/** Delete DataAutomationProject Request */
export interface DeleteDataAutomationProjectInput {
    /** ARN generated at the server side when a DataAutomationProject is created */
    projectArn: string;
}
/** Get Blueprint Request */
export interface GetBlueprintInput {
    /** ARN generated at the server side when a Blueprint is created */
    blueprintArn: string;
    /** Optional field to get a specific Blueprint stage */
    blueprintStage?: 'DEVELOPMENT' | 'LIVE';
    /** Optional field to get a specific Blueprint version */
    blueprintVersion?: string;
}
/** Structure for request of GetBlueprintOptimizationStatus API. */
export interface GetBlueprintOptimizationStatusInput {
    /** Invocation arn. */
    invocationArn: string;
}
/** Get DataAutomationProject Request */
export interface GetDataAutomationProjectInput {
    /** ARN generated at the server side when a DataAutomationProject is created */
    projectArn: string;
    /** Optional field to delete a specific DataAutomationProject stage */
    projectStage?: 'DEVELOPMENT' | 'LIVE';
}
/** Invoke Blueprint Optimization Async Request */
export interface InvokeBlueprintOptimizationAsyncInput {
    /** Blueprint to be optimized */
    blueprint: BlueprintOptimizationObject;
    /** Data automation profile ARN */
    dataAutomationProfileArn: string;
    /** Output configuration where the results should be placed */
    outputConfiguration: BlueprintOptimizationOutputConfiguration;
    /** List of Blueprint Optimization Samples */
    samples: BlueprintOptimizationSample[];
    /** Encryption configuration. */
    encryptionConfiguration?: EncryptionConfiguration;
    /** List of tags. */
    tags?: Tag[];
}
/** List Blueprint Request */
export interface ListBlueprintsInput {
    blueprintArn?: string;
    blueprintStageFilter?: 'DEVELOPMENT' | 'LIVE' | 'ALL';
    maxResults?: number;
    nextToken?: string;
    projectFilter?: DataAutomationProjectFilter;
    resourceOwner?: 'SERVICE' | 'ACCOUNT';
}
/** List DataAutomationProject Request */
export interface ListDataAutomationProjectsInput {
    blueprintFilter?: BlueprintFilter;
    maxResults?: number;
    nextToken?: string;
    projectStageFilter?: 'DEVELOPMENT' | 'LIVE' | 'ALL';
    resourceOwner?: 'SERVICE' | 'ACCOUNT';
}
export interface ListTagsForResourceInput {
    resourceARN: string;
}
export interface TagResourceInput {
    resourceARN: string;
    tags: Tag[];
}
export interface UntagResourceInput {
    resourceARN: string;
    tagKeys: string[];
}
/** Update Blueprint Request */
export interface UpdateBlueprintInput {
    /** ARN generated at the server side when a Blueprint is created */
    blueprintArn: string;
    schema: string;
    blueprintStage?: 'DEVELOPMENT' | 'LIVE';
    encryptionConfiguration?: EncryptionConfiguration;
}
/** Update DataAutomationProject Request */
export interface UpdateDataAutomationProjectInput {
    /** ARN generated at the server side when a DataAutomationProject is created */
    projectArn: string;
    standardOutputConfiguration: StandardOutputConfiguration;
    customOutputConfiguration?: CustomOutputConfiguration;
    encryptionConfiguration?: EncryptionConfiguration;
    overrideConfiguration?: OverrideConfiguration;
    projectDescription?: string;
    projectStage?: 'DEVELOPMENT' | 'LIVE';
}
/** Bedrock Data Automation service binding for Step Functions SDK integrations. */
export declare class BedrockDataAutomation {
    constructor();
    copyBlueprintStage<T>(params: CopyBlueprintStageInput): Promise<T>;
    createBlueprint<T>(params: CreateBlueprintInput): Promise<T>;
    createBlueprintVersion<T>(params: CreateBlueprintVersionInput): Promise<T>;
    createDataAutomationProject<T>(params: CreateDataAutomationProjectInput): Promise<T>;
    deleteBlueprint<T>(params: DeleteBlueprintInput): Promise<T>;
    deleteDataAutomationProject<T>(params: DeleteDataAutomationProjectInput): Promise<T>;
    getBlueprint<T>(params: GetBlueprintInput): Promise<T>;
    getBlueprintOptimizationStatus<T>(params: GetBlueprintOptimizationStatusInput): Promise<T>;
    getDataAutomationProject<T>(params: GetDataAutomationProjectInput): Promise<T>;
    invokeBlueprintOptimizationAsync<T>(params: InvokeBlueprintOptimizationAsyncInput): Promise<T>;
    listBlueprints<T>(params: ListBlueprintsInput): Promise<T>;
    listDataAutomationProjects<T>(params: ListDataAutomationProjectsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateBlueprint<T>(params: UpdateBlueprintInput): Promise<T>;
    updateDataAutomationProject<T>(params: UpdateDataAutomationProjectInput): Promise<T>;
}
//# sourceMappingURL=BedrockDataAutomation.d.ts.map