export interface ServerSideEncryptionConfiguration {
    /** The identifier of the KMS key to use to encrypt data stored by Voice ID. Voice ID doesn't support asymmetric customer managed keys. */
    KmsKeyId: string;
}
export interface Tag {
    /** The first part of a key:value pair that forms a tag associated with a given resource. For example, in the tag 'Department':'Sales', the key is 'Department'. */
    Key: string;
    /** The second part of a key:value pair that forms a tag associated with a given resource. For example, in the tag 'Department':'Sales', the value is 'Sales'. */
    Value: string;
}
export interface RegistrationConfig {
    /** The action to take when a fraudster is identified as a duplicate. The default action is SKIP, which skips registering the duplicate fraudster. Setting the value to REGISTER_AS_NEW always registers a n */
    DuplicateRegistrationAction?: 'SKIP' | 'REGISTER_AS_NEW';
    /** The minimum similarity score between the new and old fraudsters in order to consider the new fraudster a duplicate. */
    FraudsterSimilarityThreshold?: number;
    /** The identifiers of watchlists that a fraudster is registered to. If a watchlist isn't provided, the fraudsters are registered to the default watchlist. */
    WatchlistIds?: string[];
}
export interface InputDataConfig {
    /** The S3 location for the input manifest file that contains the list of individual enrollment or registration job requests. */
    S3Uri: string;
}
export interface OutputDataConfig {
    /** The S3 path of the folder where Voice ID writes the job output file. It has a *.out extension. For example, if the input file name is input-file.json and the output folder path is s3://output-bucket/o */
    S3Uri: string;
    /** The identifier of the KMS key you want Voice ID to use to encrypt the output file of a speaker enrollment job/fraudster registration job. */
    KmsKeyId?: string;
}
export interface EnrollmentJobFraudDetectionConfig {
    /** The action to take when the given speaker is flagged by the fraud detection system. The default value is FAIL, which fails the speaker enrollment. Changing this value to IGNORE results in the speaker  */
    FraudDetectionAction?: 'IGNORE' | 'FAIL';
    /** Threshold value for determining whether the speaker is a high risk to be fraudulent. If the detected risk score calculated by Voice ID is greater than or equal to the threshold, the speaker is conside */
    RiskThreshold?: number;
    /** The identifier of watchlists against which fraud detection is performed. */
    WatchlistIds?: any[];
}
export interface EnrollmentConfig {
    /** The action to take when the specified speaker is already enrolled in the specified domain. The default value is SKIP, which skips the enrollment for the existing speaker. Setting the value to OVERWRIT */
    ExistingEnrollmentAction?: 'SKIP' | 'OVERWRITE';
    /** The fraud detection configuration to use for the speaker enrollment job. */
    FraudDetectionConfig?: EnrollmentJobFraudDetectionConfig;
}
export interface AssociateFraudsterInput {
    /** The identifier of the domain that contains the fraudster. */
    DomainId: string;
    /** The identifier of the fraudster to be associated with the watchlist. */
    FraudsterId: string;
    /** The identifier of the watchlist you want to associate with the fraudster. */
    WatchlistId: string;
}
export interface CreateDomainInput {
    /** The name of the domain. */
    Name: string;
    /** The configuration, containing the KMS key identifier, to be used by Voice ID for the server-side encryption of your data. Refer to Amazon Connect Voice ID encryption at rest for more details on how th */
    ServerSideEncryptionConfiguration: ServerSideEncryptionConfiguration;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency */
    ClientToken?: string;
    /** A brief description of this domain. */
    Description?: string;
    /** A list of tags you want added to the domain. */
    Tags?: Tag[];
}
export interface CreateWatchlistInput {
    /** The identifier of the domain that contains the watchlist. */
    DomainId: string;
    /** The name of the watchlist. */
    Name: string;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency */
    ClientToken?: string;
    /** A brief description of this watchlist. */
    Description?: string;
}
export interface DeleteDomainInput {
    /** The identifier of the domain you want to delete. */
    DomainId: string;
}
export interface DeleteFraudsterInput {
    /** The identifier of the domain that contains the fraudster. */
    DomainId: string;
    /** The identifier of the fraudster you want to delete. */
    FraudsterId: string;
}
export interface DeleteSpeakerInput {
    /** The identifier of the domain that contains the speaker. */
    DomainId: string;
    /** The identifier of the speaker you want to delete. */
    SpeakerId: string;
}
export interface DeleteWatchlistInput {
    /** The identifier of the domain that contains the watchlist. */
    DomainId: string;
    /** The identifier of the watchlist to be deleted. */
    WatchlistId: string;
}
export interface DescribeDomainInput {
    /** The identifier of the domain that you are describing. */
    DomainId: string;
}
export interface DescribeFraudsterInput {
    /** The identifier of the domain that contains the fraudster. */
    DomainId: string;
    /** The identifier of the fraudster you are describing. */
    FraudsterId: string;
}
export interface DescribeFraudsterRegistrationJobInput {
    /** The identifier of the domain that contains the fraudster registration job. */
    DomainId: string;
    /** The identifier of the fraudster registration job you are describing. */
    JobId: string;
}
export interface DescribeSpeakerInput {
    /** The identifier of the domain that contains the speaker. */
    DomainId: string;
    /** The identifier of the speaker you are describing. */
    SpeakerId: string;
}
export interface DescribeSpeakerEnrollmentJobInput {
    /** The identifier of the domain that contains the speaker enrollment job. */
    DomainId: string;
    /** The identifier of the speaker enrollment job you are describing. */
    JobId: string;
}
export interface DescribeWatchlistInput {
    /** The identifier of the domain that contains the watchlist. */
    DomainId: string;
    /** The identifier of the watchlist that you are describing. */
    WatchlistId: string;
}
export interface DisassociateFraudsterInput {
    /** The identifier of the domain that contains the fraudster. */
    DomainId: string;
    /** The identifier of the fraudster to be disassociated from the watchlist. */
    FraudsterId: string;
    /** The identifier of the watchlist that you want to disassociate from the fraudster. */
    WatchlistId: string;
}
export interface EvaluateSessionInput {
    /** The identifier of the domain where the session started. */
    DomainId: string;
    /** The session identifier, or name of the session, that you want to evaluate. In Voice ID integration, this is the Contact-Id. */
    SessionNameOrId: string;
}
export interface ListDomainsInput {
    /** The maximum number of results that are returned per call. You can use NextToken to obtain more pages of results. The default is 100; the maximum allowed page size is also 100. */
    MaxResults?: number;
    /** If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. K */
    NextToken?: string;
}
export interface ListFraudsterRegistrationJobsInput {
    /** The identifier of the domain that contains the fraudster registration Jobs. */
    DomainId: string;
    /** Provides the status of your fraudster registration job. */
    JobStatus?: 'SUBMITTED' | 'IN_PROGRESS' | 'COMPLETED' | 'COMPLETED_WITH_ERRORS' | 'FAILED';
    /** The maximum number of results that are returned per call. You can use NextToken to obtain more pages of results. The default is 100; the maximum allowed page size is also 100. */
    MaxResults?: number;
    /** If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. K */
    NextToken?: string;
}
export interface ListFraudstersInput {
    /** The identifier of the domain. */
    DomainId: string;
    /** The maximum number of results that are returned per call. You can use NextToken to obtain more pages of results. The default is 100; the maximum allowed page size is also 100. */
    MaxResults?: number;
    /** If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. K */
    NextToken?: string;
    /** The identifier of the watchlist. If provided, all fraudsters in the watchlist are listed. If not provided, all fraudsters in the domain are listed. */
    WatchlistId?: string;
}
export interface ListSpeakerEnrollmentJobsInput {
    /** The identifier of the domain that contains the speaker enrollment jobs. */
    DomainId: string;
    /** Provides the status of your speaker enrollment Job. */
    JobStatus?: 'SUBMITTED' | 'IN_PROGRESS' | 'COMPLETED' | 'COMPLETED_WITH_ERRORS' | 'FAILED';
    /** The maximum number of results that are returned per call. You can use NextToken to obtain more pages of results. The default is 100; the maximum allowed page size is also 100. */
    MaxResults?: number;
    /** If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. K */
    NextToken?: string;
}
export interface ListSpeakersInput {
    /** The identifier of the domain. */
    DomainId: string;
    /** The maximum number of results that are returned per call. You can use NextToken to obtain more pages of results. The default is 100; the maximum allowed page size is also 100. */
    MaxResults?: number;
    /** If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. K */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the Voice ID resource for which you want to list the tags. */
    ResourceArn: string;
}
export interface ListWatchlistsInput {
    /** The identifier of the domain. */
    DomainId: string;
    /** The maximum number of results that are returned per call. You can use NextToken to obtain more pages of results. The default is 100; the maximum allowed page size is also 100. */
    MaxResults?: number;
    /** If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. K */
    NextToken?: string;
}
export interface OptOutSpeakerInput {
    /** The identifier of the domain that contains the speaker. */
    DomainId: string;
    /** The identifier of the speaker you want opted-out. */
    SpeakerId: string;
}
export interface StartFraudsterRegistrationJobInput {
    /** The IAM role Amazon Resource Name (ARN) that grants Voice ID permissions to access customer's buckets to read the input manifest file and write the Job output file. Refer to the Create and edit a frau */
    DataAccessRoleArn: string;
    /** The identifier of the domain that contains the fraudster registration job and in which the fraudsters are registered. */
    DomainId: string;
    /** The input data config containing an S3 URI for the input manifest file that contains the list of fraudster registration requests. */
    InputDataConfig: InputDataConfig;
    /** The output data config containing the S3 location where Voice ID writes the job output file; you must also include a KMS key ID to encrypt the file. */
    OutputDataConfig: OutputDataConfig;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency */
    ClientToken?: string;
    /** The name of the new fraudster registration job. */
    JobName?: string;
    /** The registration config containing details such as the action to take when a duplicate fraudster is detected, and the similarity threshold to use for detecting a duplicate fraudster. */
    RegistrationConfig?: RegistrationConfig;
}
export interface StartSpeakerEnrollmentJobInput {
    /** The IAM role Amazon Resource Name (ARN) that grants Voice ID permissions to access customer's buckets to read the input manifest file and write the job output file. Refer to Batch enrollment using aud */
    DataAccessRoleArn: string;
    /** The identifier of the domain that contains the speaker enrollment job and in which the speakers are enrolled. */
    DomainId: string;
    /** The input data config containing the S3 location for the input manifest file that contains the list of speaker enrollment requests. */
    InputDataConfig: InputDataConfig;
    /** The output data config containing the S3 location where Voice ID writes the job output file; you must also include a KMS key ID to encrypt the file. */
    OutputDataConfig: OutputDataConfig;
    /** A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency */
    ClientToken?: string;
    /** The enrollment config that contains details such as the action to take when a speaker is already enrolled in Voice ID or when a speaker is identified as a fraudster. */
    EnrollmentConfig?: EnrollmentConfig;
    /** A name for your speaker enrollment job. */
    JobName?: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the Voice ID resource you want to tag. */
    ResourceArn: string;
    /** The list of tags to assign to the specified resource. */
    Tags: Tag[];
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the Voice ID resource you want to remove tags from. */
    ResourceArn: string;
    /** The list of tag keys you want to remove from the specified resource. */
    TagKeys: string[];
}
export interface UpdateDomainInput {
    /** The identifier of the domain to be updated. */
    DomainId: string;
    /** The name of the domain. */
    Name: string;
    /** The configuration, containing the KMS key identifier, to be used by Voice ID for the server-side encryption of your data. Changing the domain's associated KMS key immediately triggers an asynchronous  */
    ServerSideEncryptionConfiguration: ServerSideEncryptionConfiguration;
    /** A brief description about this domain. */
    Description?: string;
}
export interface UpdateWatchlistInput {
    /** The identifier of the domain that contains the watchlist. */
    DomainId: string;
    /** The identifier of the watchlist to be updated. */
    WatchlistId: string;
    /** A brief description about this watchlist. */
    Description?: string;
    /** The name of the watchlist. */
    Name?: string;
}
/** Voice ID service binding for Step Functions SDK integrations. */
export declare class VoiceID {
    constructor();
    associateFraudster<T>(params: AssociateFraudsterInput): Promise<T>;
    createDomain<T>(params: CreateDomainInput): Promise<T>;
    createWatchlist<T>(params: CreateWatchlistInput): Promise<T>;
    deleteDomain<T>(params: DeleteDomainInput): Promise<T>;
    deleteFraudster<T>(params: DeleteFraudsterInput): Promise<T>;
    deleteSpeaker<T>(params: DeleteSpeakerInput): Promise<T>;
    deleteWatchlist<T>(params: DeleteWatchlistInput): Promise<T>;
    describeDomain<T>(params: DescribeDomainInput): Promise<T>;
    describeFraudster<T>(params: DescribeFraudsterInput): Promise<T>;
    describeFraudsterRegistrationJob<T>(params: DescribeFraudsterRegistrationJobInput): Promise<T>;
    describeSpeaker<T>(params: DescribeSpeakerInput): Promise<T>;
    describeSpeakerEnrollmentJob<T>(params: DescribeSpeakerEnrollmentJobInput): Promise<T>;
    describeWatchlist<T>(params: DescribeWatchlistInput): Promise<T>;
    disassociateFraudster<T>(params: DisassociateFraudsterInput): Promise<T>;
    evaluateSession<T>(params: EvaluateSessionInput): Promise<T>;
    listDomains<T>(params: ListDomainsInput): Promise<T>;
    listFraudsterRegistrationJobs<T>(params: ListFraudsterRegistrationJobsInput): Promise<T>;
    listFraudsters<T>(params: ListFraudstersInput): Promise<T>;
    listSpeakerEnrollmentJobs<T>(params: ListSpeakerEnrollmentJobsInput): Promise<T>;
    listSpeakers<T>(params: ListSpeakersInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listWatchlists<T>(params: ListWatchlistsInput): Promise<T>;
    optOutSpeaker<T>(params: OptOutSpeakerInput): Promise<T>;
    startFraudsterRegistrationJob<T>(params: StartFraudsterRegistrationJobInput): Promise<T>;
    startSpeakerEnrollmentJob<T>(params: StartSpeakerEnrollmentJobInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateDomain<T>(params: UpdateDomainInput): Promise<T>;
    updateWatchlist<T>(params: UpdateWatchlistInput): Promise<T>;
}
//# sourceMappingURL=VoiceID.d.ts.map