export interface ParametricConfigurationOverrides {
    /** The configurations for the application running by the job run. */
    applicationConfiguration?: any[];
    /** The configurations for monitoring. */
    monitoringConfiguration?: any;
}
export interface JobDriver {
    /** The job driver parameters specified for spark submit. */
    sparkSubmitJobDriver?: any;
    /** The job driver for job type. */
    sparkSqlJobDriver?: any;
}
export interface JobTemplateData {
    /** The execution role ARN of the job run. */
    executionRoleArn: string;
    /** The release version of Amazon EMR. */
    releaseLabel: string;
    /** The configuration settings that are used to override defaults configuration. */
    configurationOverrides?: ParametricConfigurationOverrides;
    jobDriver: JobDriver;
    /** The configuration of parameters existing in the job template. */
    parameterConfiguration?: Record<string, any>;
    /** The tags assigned to jobs started using the job template. */
    jobTags?: Record<string, string>;
}
export interface MonitoringConfiguration {
    /** The entity that controls configuration for managed logs. */
    managedLogs?: any;
    /** Monitoring configurations for the persistent application UI. */
    persistentAppUI?: 'ENABLED' | 'DISABLED';
    /** Monitoring configurations for CloudWatch. */
    cloudWatchMonitoringConfiguration?: any;
    /** Amazon S3 configuration for monitoring log publishing. */
    s3MonitoringConfiguration?: any;
    /** Enable or disable container log rotation. */
    containerLogRotationConfiguration?: any;
}
export interface ConfigurationOverrides {
    /** The configurations for the application running by the job run. */
    applicationConfiguration?: any[];
    /** The configurations for monitoring. */
    monitoringConfiguration?: MonitoringConfiguration;
}
export interface ContainerProvider {
    /** The type of the container provider. Amazon EKS is the only supported type as of now. */
    type: 'EKS';
    /** The ID of the container cluster. */
    id: string;
    /** The information about the container cluster. */
    info?: {
        eksInfo?: any;
    };
}
export interface AuthorizationConfiguration {
    /** Lake Formation related configuration inputs for the security configuration. */
    lakeFormationConfiguration?: any;
    /** Encryption-related configuration input for the security configuration. */
    encryptionConfiguration?: any;
}
export interface SecurityConfigurationData {
    /** Authorization-related configuration input for the security configuration. */
    authorizationConfiguration?: AuthorizationConfiguration;
}
export interface RetryPolicyConfiguration {
    /** The maximum number of attempts on the job's driver. */
    maxAttempts: number;
}
export interface CancelJobRunInput {
    /** The ID of the job run to cancel. */
    id: string;
    /** The ID of the virtual cluster for which the job run will be canceled. */
    virtualClusterId: string;
}
export interface CreateJobTemplateInput {
    /** The client token of the job template. */
    clientToken: string;
    /** The job template data which holds values of StartJobRun API request. */
    jobTemplateData: JobTemplateData;
    /** The specified name of the job template. */
    name: string;
    /** The KMS key ARN used to encrypt the job template. */
    kmsKeyArn?: string;
    /** The tags that are associated with the job template. */
    tags?: Record<string, string>;
}
export interface CreateManagedEndpointInput {
    /** The client idempotency token for this create call. */
    clientToken: string;
    /** The ARN of the execution role. */
    executionRoleArn: string;
    /** The name of the managed endpoint. */
    name: string;
    /** The Amazon EMR release version. */
    releaseLabel: string;
    /** The type of the managed endpoint. */
    type: string;
    /** The ID of the virtual cluster for which a managed endpoint is created. */
    virtualClusterId: string;
    /** The certificate ARN provided by users for the managed endpoint. This field is under deprecation and will be removed in future releases. */
    certificateArn?: string;
    /** The configuration settings that will be used to override existing configurations. */
    configurationOverrides?: ConfigurationOverrides;
    /** The tags of the managed endpoint. */
    tags?: Record<string, string>;
}
export interface CreateSecurityConfigurationInput {
    /** The client idempotency token to use when creating the security configuration. */
    clientToken: string;
    /** The name of the security configuration. */
    name: string;
    /** Security configuration input for the request. */
    securityConfigurationData: SecurityConfigurationData;
    /** The container provider associated with the security configuration. */
    containerProvider?: ContainerProvider;
    /** The tags to add to the security configuration. */
    tags?: Record<string, string>;
}
export interface CreateVirtualClusterInput {
    /** The client token of the virtual cluster. */
    clientToken: string;
    /** The container provider of the virtual cluster. */
    containerProvider: ContainerProvider;
    /** The specified name of the virtual cluster. */
    name: string;
    /** The ID of the security configuration. */
    securityConfigurationId?: string;
    /** The tags assigned to the virtual cluster. */
    tags?: Record<string, string>;
}
export interface DeleteJobTemplateInput {
    /** The ID of the job template that will be deleted. */
    id: string;
}
export interface DeleteManagedEndpointInput {
    /** The ID of the managed endpoint. */
    id: string;
    /** The ID of the endpoint's virtual cluster. */
    virtualClusterId: string;
}
export interface DeleteVirtualClusterInput {
    /** The ID of the virtual cluster that will be deleted. */
    id: string;
}
export interface DescribeJobRunInput {
    /** The ID of the job run request. */
    id: string;
    /** The ID of the virtual cluster for which the job run is submitted. */
    virtualClusterId: string;
}
export interface DescribeJobTemplateInput {
    /** The ID of the job template that will be described. */
    id: string;
}
export interface DescribeManagedEndpointInput {
    /** This output displays ID of the managed endpoint. */
    id: string;
    /** The ID of the endpoint's virtual cluster. */
    virtualClusterId: string;
}
export interface DescribeSecurityConfigurationInput {
    /** The ID of the security configuration. */
    id: string;
}
export interface DescribeVirtualClusterInput {
    /** The ID of the virtual cluster that will be described. */
    id: string;
}
export interface GetManagedEndpointSessionCredentialsInput {
    /** Type of the token requested. Currently supported and default value of this field is “TOKEN.” */
    credentialType: string;
    /** The ARN of the managed endpoint for which the request is submitted. */
    endpointIdentifier: string;
    /** The IAM Execution Role ARN that will be used by the job run. */
    executionRoleArn: string;
    /** The ARN of the Virtual Cluster which the Managed Endpoint belongs to. */
    virtualClusterIdentifier: string;
    /** The client idempotency token of the job run request. */
    clientToken?: string;
    /** Duration in seconds for which the session token is valid. The default duration is 15 minutes and the maximum is 12 hours. */
    durationInSeconds?: number;
    /** String identifier used to separate sections of the execution logs uploaded to S3. */
    logContext?: string;
}
export interface ListJobRunsInput {
    /** The ID of the virtual cluster for which to list the job run. */
    virtualClusterId: string;
    /** The date and time after which the job runs were submitted. */
    createdAfter?: string;
    /** The date and time before which the job runs were submitted. */
    createdBefore?: string;
    /** The maximum number of job runs that can be listed. */
    maxResults?: number;
    /** The name of the job run. */
    name?: string;
    /** The token for the next set of job runs to return. */
    nextToken?: string;
    /** The states of the job run. */
    states?: 'PENDING' | 'SUBMITTED' | 'RUNNING' | 'FAILED' | 'CANCELLED' | 'CANCEL_PENDING' | 'COMPLETED'[];
}
export interface ListJobTemplatesInput {
    /** The date and time after which the job templates were created. */
    createdAfter?: string;
    /** The date and time before which the job templates were created. */
    createdBefore?: string;
    /** The maximum number of job templates that can be listed. */
    maxResults?: number;
    /** The token for the next set of job templates to return. */
    nextToken?: string;
}
export interface ListManagedEndpointsInput {
    /** The ID of the virtual cluster. */
    virtualClusterId: string;
    /** The date and time after which the endpoints are created. */
    createdAfter?: string;
    /** The date and time before which the endpoints are created. */
    createdBefore?: string;
    /** The maximum number of managed endpoints that can be listed. */
    maxResults?: number;
    /** The token for the next set of managed endpoints to return. */
    nextToken?: string;
    /** The states of the managed endpoints. */
    states?: 'CREATING' | 'ACTIVE' | 'TERMINATING' | 'TERMINATED' | 'TERMINATED_WITH_ERRORS'[];
    /** The types of the managed endpoints. */
    types?: string[];
}
export interface ListSecurityConfigurationsInput {
    /** The date and time after which the security configuration was created. */
    createdAfter?: string;
    /** The date and time before which the security configuration was created. */
    createdBefore?: string;
    /** The maximum number of security configurations the operation can list. */
    maxResults?: number;
    /** The token for the next set of security configurations to return. */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The ARN of tagged resources. */
    resourceArn: string;
}
export interface ListVirtualClustersInput {
    /** The container provider ID of the virtual cluster. */
    containerProviderId?: string;
    /** The container provider type of the virtual cluster. Amazon EKS is the only supported type as of now. */
    containerProviderType?: 'EKS';
    /** The date and time after which the virtual clusters are created. */
    createdAfter?: string;
    /** The date and time before which the virtual clusters are created. */
    createdBefore?: string;
    /** Optional Boolean that specifies whether the operation should return the virtual clusters that have the access entry integration enabled or disabled. If not specified, the operation returns all applica */
    eksAccessEntryIntegrated?: boolean;
    /** The maximum number of virtual clusters that can be listed. */
    maxResults?: number;
    /** The token for the next set of virtual clusters to return. */
    nextToken?: string;
    /** The states of the requested virtual clusters. */
    states?: 'RUNNING' | 'TERMINATING' | 'TERMINATED' | 'ARRESTED'[];
}
export interface StartJobRunInput {
    /** The client idempotency token of the job run request. */
    clientToken: string;
    /** The virtual cluster ID for which the job run request is submitted. */
    virtualClusterId: string;
    /** The configuration overrides for the job run. */
    configurationOverrides?: ConfigurationOverrides;
    /** The execution role ARN for the job run. */
    executionRoleArn?: string;
    /** The job driver for the job run. */
    jobDriver?: JobDriver;
    /** The job template ID to be used to start the job run. */
    jobTemplateId?: string;
    /** The values of job template parameters to start a job run. */
    jobTemplateParameters?: Record<string, string>;
    /** The name of the job run. */
    name?: string;
    /** The Amazon EMR release version to use for the job run. */
    releaseLabel?: string;
    /** The retry policy configuration for the job run. */
    retryPolicyConfiguration?: RetryPolicyConfiguration;
    /** The tags assigned to job runs. */
    tags?: Record<string, string>;
}
export interface TagResourceInput {
    /** The ARN of resources. */
    resourceArn: string;
    /** The tags assigned to resources. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The ARN of resources. */
    resourceArn: string;
    /** The tag keys of the resources. */
    tagKeys: string[];
}
/** EMR containers service binding for Step Functions SDK integrations. */
export declare class EMRcontainers {
    constructor();
    cancelJobRun<T>(params: CancelJobRunInput): Promise<T>;
    createJobTemplate<T>(params: CreateJobTemplateInput): Promise<T>;
    createManagedEndpoint<T>(params: CreateManagedEndpointInput): Promise<T>;
    createSecurityConfiguration<T>(params: CreateSecurityConfigurationInput): Promise<T>;
    createVirtualCluster<T>(params: CreateVirtualClusterInput): Promise<T>;
    deleteJobTemplate<T>(params: DeleteJobTemplateInput): Promise<T>;
    deleteManagedEndpoint<T>(params: DeleteManagedEndpointInput): Promise<T>;
    deleteVirtualCluster<T>(params: DeleteVirtualClusterInput): Promise<T>;
    describeJobRun<T>(params: DescribeJobRunInput): Promise<T>;
    describeJobTemplate<T>(params: DescribeJobTemplateInput): Promise<T>;
    describeManagedEndpoint<T>(params: DescribeManagedEndpointInput): Promise<T>;
    describeSecurityConfiguration<T>(params: DescribeSecurityConfigurationInput): Promise<T>;
    describeVirtualCluster<T>(params: DescribeVirtualClusterInput): Promise<T>;
    getManagedEndpointSessionCredentials<T>(params: GetManagedEndpointSessionCredentialsInput): Promise<T>;
    listJobRuns<T>(params: ListJobRunsInput): Promise<T>;
    listJobTemplates<T>(params: ListJobTemplatesInput): Promise<T>;
    listManagedEndpoints<T>(params: ListManagedEndpointsInput): Promise<T>;
    listSecurityConfigurations<T>(params: ListSecurityConfigurationsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listVirtualClusters<T>(params: ListVirtualClustersInput): Promise<T>;
    startJobRun<T>(params: StartJobRunInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
}
//# sourceMappingURL=EMRcontainers.d.ts.map