import * as HttpClient from "effect/unstable/http/HttpClient";
import * as redacted from "effect/Redacted";
import * as S from "effect/Schema";
import * as stream from "effect/Stream";
import * as API from "../client/api.ts";
import type { Credentials } from "../credentials.ts";
import type { CommonErrors } from "../errors.ts";
import type { Region } from "../region.ts";
export type DomainId = string;
export type WatchlistId = string;
export type FraudsterId = string | redacted.Redacted<string>;
export type GeneratedFraudsterId = string;
export type ConflictType = string;
export type ResourceType = string;
export type WatchlistName = string | redacted.Redacted<string>;
export type WatchlistDescription = string | redacted.Redacted<string>;
export type ClientTokenString = string;
export type SpeakerId = string | redacted.Redacted<string>;
export type JobId = string;
export type JobName = string | redacted.Redacted<string>;
export type FraudsterRegistrationJobStatus = string;
export type IamRoleArn = string;
export type DuplicateRegistrationAction = string;
export type Score = number;
export type S3Uri = string;
export type KmsKeyId = string;
export type CustomerSpeakerId = string | redacted.Redacted<string>;
export type GeneratedSpeakerId = string;
export type SpeakerStatus = string;
export type SpeakerEnrollmentJobStatus = string;
export type ExistingEnrollmentAction = string;
export type FraudDetectionAction = string;
export type SessionNameOrId = string;
export type SessionId = string;
export type SessionName = string;
export type StreamingStatus = string;
export type UniqueIdLarge = string;
export type AuthenticationDecision = string;
export type FraudDetectionDecision = string;
export type FraudDetectionReason = string;
export type MaxResultsForList = number;
export type NextToken = string;
export type AmazonResourceName = string;
export type TagKey = string | redacted.Redacted<string>;
export type TagValue = string | redacted.Redacted<string>;
export type DomainName = string | redacted.Redacted<string>;
export type Description = string | redacted.Redacted<string>;
export type Arn = string;
export type DomainStatus = string;
export type ServerSideEncryptionUpdateStatus = string;
export type MaxResultsForListDomainFe = number;
export interface AssociateFraudsterRequest {
    DomainId: string;
    WatchlistId: string;
    FraudsterId: string | redacted.Redacted<string>;
}
export declare const AssociateFraudsterRequest: S.Schema<AssociateFraudsterRequest>;
export type ResponseWatchlistIds = string[];
export declare const ResponseWatchlistIds: S.$Array<S.String>;
export interface Fraudster {
    DomainId?: string;
    GeneratedFraudsterId?: string;
    CreatedAt?: Date;
    WatchlistIds?: string[];
}
export declare const Fraudster: S.Schema<Fraudster>;
export interface AssociateFraudsterResponse {
    Fraudster?: Fraudster;
}
export declare const AssociateFraudsterResponse: S.Schema<AssociateFraudsterResponse>;
export interface CreateWatchlistRequest {
    DomainId: string;
    Name: string | redacted.Redacted<string>;
    Description?: string | redacted.Redacted<string>;
    ClientToken?: string;
}
export declare const CreateWatchlistRequest: S.Schema<CreateWatchlistRequest>;
export interface Watchlist {
    DomainId?: string;
    WatchlistId?: string;
    Name?: string | redacted.Redacted<string>;
    Description?: string | redacted.Redacted<string>;
    DefaultWatchlist?: boolean;
    CreatedAt?: Date;
    UpdatedAt?: Date;
}
export declare const Watchlist: S.Schema<Watchlist>;
export interface CreateWatchlistResponse {
    Watchlist?: Watchlist;
}
export declare const CreateWatchlistResponse: S.Schema<CreateWatchlistResponse>;
export interface DeleteFraudsterRequest {
    DomainId: string;
    FraudsterId: string | redacted.Redacted<string>;
}
export declare const DeleteFraudsterRequest: S.Schema<DeleteFraudsterRequest>;
export interface DeleteFraudsterResponse {
}
export declare const DeleteFraudsterResponse: S.Schema<DeleteFraudsterResponse>;
export interface DeleteSpeakerRequest {
    DomainId: string;
    SpeakerId: string | redacted.Redacted<string>;
}
export declare const DeleteSpeakerRequest: S.Schema<DeleteSpeakerRequest>;
export interface DeleteSpeakerResponse {
}
export declare const DeleteSpeakerResponse: S.Schema<DeleteSpeakerResponse>;
export interface DeleteWatchlistRequest {
    DomainId: string;
    WatchlistId: string;
}
export declare const DeleteWatchlistRequest: S.Schema<DeleteWatchlistRequest>;
export interface DeleteWatchlistResponse {
}
export declare const DeleteWatchlistResponse: S.Schema<DeleteWatchlistResponse>;
export interface DescribeFraudsterRequest {
    DomainId: string;
    FraudsterId: string | redacted.Redacted<string>;
}
export declare const DescribeFraudsterRequest: S.Schema<DescribeFraudsterRequest>;
export interface DescribeFraudsterResponse {
    Fraudster?: Fraudster;
}
export declare const DescribeFraudsterResponse: S.Schema<DescribeFraudsterResponse>;
export interface DescribeFraudsterRegistrationJobRequest {
    DomainId: string;
    JobId: string;
}
export declare const DescribeFraudsterRegistrationJobRequest: S.Schema<DescribeFraudsterRegistrationJobRequest>;
export type RegistrationConfigWatchlistIds = string[];
export declare const RegistrationConfigWatchlistIds: S.$Array<S.String>;
export interface RegistrationConfig {
    DuplicateRegistrationAction?: string;
    FraudsterSimilarityThreshold?: number;
    WatchlistIds?: string[];
}
export declare const RegistrationConfig: S.Schema<RegistrationConfig>;
export interface InputDataConfig {
    S3Uri: string;
}
export declare const InputDataConfig: S.Schema<InputDataConfig>;
export interface OutputDataConfig {
    S3Uri: string;
    KmsKeyId?: string;
}
export declare const OutputDataConfig: S.Schema<OutputDataConfig>;
export interface FailureDetails {
    StatusCode?: number;
    Message?: string;
}
export declare const FailureDetails: S.Schema<FailureDetails>;
export interface JobProgress {
    PercentComplete?: number;
}
export declare const JobProgress: S.Schema<JobProgress>;
export interface FraudsterRegistrationJob {
    JobName?: string | redacted.Redacted<string>;
    JobId?: string;
    JobStatus?: string;
    DomainId?: string;
    DataAccessRoleArn?: string;
    RegistrationConfig?: RegistrationConfig;
    InputDataConfig?: InputDataConfig;
    OutputDataConfig?: OutputDataConfig;
    CreatedAt?: Date;
    EndedAt?: Date;
    FailureDetails?: FailureDetails;
    JobProgress?: JobProgress;
}
export declare const FraudsterRegistrationJob: S.Schema<FraudsterRegistrationJob>;
export interface DescribeFraudsterRegistrationJobResponse {
    Job?: FraudsterRegistrationJob;
}
export declare const DescribeFraudsterRegistrationJobResponse: S.Schema<DescribeFraudsterRegistrationJobResponse>;
export interface DescribeSpeakerRequest {
    DomainId: string;
    SpeakerId: string | redacted.Redacted<string>;
}
export declare const DescribeSpeakerRequest: S.Schema<DescribeSpeakerRequest>;
export interface Speaker {
    DomainId?: string;
    CustomerSpeakerId?: string | redacted.Redacted<string>;
    GeneratedSpeakerId?: string;
    Status?: string;
    CreatedAt?: Date;
    UpdatedAt?: Date;
    LastAccessedAt?: Date;
}
export declare const Speaker: S.Schema<Speaker>;
export interface DescribeSpeakerResponse {
    Speaker?: Speaker;
}
export declare const DescribeSpeakerResponse: S.Schema<DescribeSpeakerResponse>;
export interface DescribeSpeakerEnrollmentJobRequest {
    DomainId: string;
    JobId: string;
}
export declare const DescribeSpeakerEnrollmentJobRequest: S.Schema<DescribeSpeakerEnrollmentJobRequest>;
export type EnrollmentJobFraudDetectionConfigWatchlistIds = string[];
export declare const EnrollmentJobFraudDetectionConfigWatchlistIds: S.$Array<S.String>;
export interface EnrollmentJobFraudDetectionConfig {
    FraudDetectionAction?: string;
    RiskThreshold?: number;
    WatchlistIds?: string[];
}
export declare const EnrollmentJobFraudDetectionConfig: S.Schema<EnrollmentJobFraudDetectionConfig>;
export interface EnrollmentConfig {
    ExistingEnrollmentAction?: string;
    FraudDetectionConfig?: EnrollmentJobFraudDetectionConfig;
}
export declare const EnrollmentConfig: S.Schema<EnrollmentConfig>;
export interface SpeakerEnrollmentJob {
    JobName?: string | redacted.Redacted<string>;
    JobId?: string;
    JobStatus?: string;
    DomainId?: string;
    DataAccessRoleArn?: string;
    EnrollmentConfig?: EnrollmentConfig;
    InputDataConfig?: InputDataConfig;
    OutputDataConfig?: OutputDataConfig;
    CreatedAt?: Date;
    EndedAt?: Date;
    FailureDetails?: FailureDetails;
    JobProgress?: JobProgress;
}
export declare const SpeakerEnrollmentJob: S.Schema<SpeakerEnrollmentJob>;
export interface DescribeSpeakerEnrollmentJobResponse {
    Job?: SpeakerEnrollmentJob;
}
export declare const DescribeSpeakerEnrollmentJobResponse: S.Schema<DescribeSpeakerEnrollmentJobResponse>;
export interface DescribeWatchlistRequest {
    DomainId: string;
    WatchlistId: string;
}
export declare const DescribeWatchlistRequest: S.Schema<DescribeWatchlistRequest>;
export interface DescribeWatchlistResponse {
    Watchlist?: Watchlist;
}
export declare const DescribeWatchlistResponse: S.Schema<DescribeWatchlistResponse>;
export interface DisassociateFraudsterRequest {
    DomainId: string;
    WatchlistId: string;
    FraudsterId: string | redacted.Redacted<string>;
}
export declare const DisassociateFraudsterRequest: S.Schema<DisassociateFraudsterRequest>;
export interface DisassociateFraudsterResponse {
    Fraudster?: Fraudster;
}
export declare const DisassociateFraudsterResponse: S.Schema<DisassociateFraudsterResponse>;
export interface EvaluateSessionRequest {
    DomainId: string;
    SessionNameOrId: string;
}
export declare const EvaluateSessionRequest: S.Schema<EvaluateSessionRequest>;
export interface AuthenticationConfiguration {
    AcceptanceThreshold: number;
}
export declare const AuthenticationConfiguration: S.Schema<AuthenticationConfiguration>;
export interface AuthenticationResult {
    AuthenticationResultId?: string;
    AudioAggregationStartedAt?: Date;
    AudioAggregationEndedAt?: Date;
    CustomerSpeakerId?: string | redacted.Redacted<string>;
    GeneratedSpeakerId?: string;
    Decision?: string;
    Score?: number;
    Configuration?: AuthenticationConfiguration;
}
export declare const AuthenticationResult: S.Schema<AuthenticationResult>;
export interface FraudDetectionConfiguration {
    RiskThreshold?: number;
    WatchlistId?: string;
}
export declare const FraudDetectionConfiguration: S.Schema<FraudDetectionConfiguration>;
export type FraudDetectionReasons = string[];
export declare const FraudDetectionReasons: S.$Array<S.String>;
export interface KnownFraudsterRisk {
    RiskScore: number;
    GeneratedFraudsterId?: string;
}
export declare const KnownFraudsterRisk: S.Schema<KnownFraudsterRisk>;
export interface VoiceSpoofingRisk {
    RiskScore: number;
}
export declare const VoiceSpoofingRisk: S.Schema<VoiceSpoofingRisk>;
export interface FraudRiskDetails {
    KnownFraudsterRisk: KnownFraudsterRisk;
    VoiceSpoofingRisk: VoiceSpoofingRisk;
}
export declare const FraudRiskDetails: S.Schema<FraudRiskDetails>;
export interface FraudDetectionResult {
    FraudDetectionResultId?: string;
    AudioAggregationStartedAt?: Date;
    AudioAggregationEndedAt?: Date;
    Configuration?: FraudDetectionConfiguration;
    Decision?: string;
    Reasons?: string[];
    RiskDetails?: FraudRiskDetails;
}
export declare const FraudDetectionResult: S.Schema<FraudDetectionResult>;
export interface EvaluateSessionResponse {
    DomainId?: string;
    SessionId?: string;
    SessionName?: string;
    StreamingStatus?: string;
    AuthenticationResult?: AuthenticationResult;
    FraudDetectionResult?: FraudDetectionResult;
}
export declare const EvaluateSessionResponse: S.Schema<EvaluateSessionResponse>;
export interface ListFraudsterRegistrationJobsRequest {
    DomainId: string;
    JobStatus?: string;
    MaxResults?: number;
    NextToken?: string;
}
export declare const ListFraudsterRegistrationJobsRequest: S.Schema<ListFraudsterRegistrationJobsRequest>;
export interface FraudsterRegistrationJobSummary {
    JobName?: string | redacted.Redacted<string>;
    JobId?: string;
    JobStatus?: string;
    DomainId?: string;
    CreatedAt?: Date;
    EndedAt?: Date;
    FailureDetails?: FailureDetails;
    JobProgress?: JobProgress;
}
export declare const FraudsterRegistrationJobSummary: S.Schema<FraudsterRegistrationJobSummary>;
export type FraudsterRegistrationJobSummaries = FraudsterRegistrationJobSummary[];
export declare const FraudsterRegistrationJobSummaries: S.$Array<S.Schema<FraudsterRegistrationJobSummary>>;
export interface ListFraudsterRegistrationJobsResponse {
    JobSummaries?: FraudsterRegistrationJobSummary[];
    NextToken?: string;
}
export declare const ListFraudsterRegistrationJobsResponse: S.Schema<ListFraudsterRegistrationJobsResponse>;
export interface ListFraudstersRequest {
    DomainId: string;
    WatchlistId?: string;
    MaxResults?: number;
    NextToken?: string;
}
export declare const ListFraudstersRequest: S.Schema<ListFraudstersRequest>;
export interface FraudsterSummary {
    DomainId?: string;
    GeneratedFraudsterId?: string;
    CreatedAt?: Date;
    WatchlistIds?: string[];
}
export declare const FraudsterSummary: S.Schema<FraudsterSummary>;
export type FraudsterSummaries = FraudsterSummary[];
export declare const FraudsterSummaries: S.$Array<S.Schema<FraudsterSummary>>;
export interface ListFraudstersResponse {
    FraudsterSummaries?: FraudsterSummary[];
    NextToken?: string;
}
export declare const ListFraudstersResponse: S.Schema<ListFraudstersResponse>;
export interface ListSpeakerEnrollmentJobsRequest {
    DomainId: string;
    JobStatus?: string;
    MaxResults?: number;
    NextToken?: string;
}
export declare const ListSpeakerEnrollmentJobsRequest: S.Schema<ListSpeakerEnrollmentJobsRequest>;
export interface SpeakerEnrollmentJobSummary {
    JobName?: string | redacted.Redacted<string>;
    JobId?: string;
    JobStatus?: string;
    DomainId?: string;
    CreatedAt?: Date;
    EndedAt?: Date;
    FailureDetails?: FailureDetails;
    JobProgress?: JobProgress;
}
export declare const SpeakerEnrollmentJobSummary: S.Schema<SpeakerEnrollmentJobSummary>;
export type SpeakerEnrollmentJobSummaries = SpeakerEnrollmentJobSummary[];
export declare const SpeakerEnrollmentJobSummaries: S.$Array<S.Schema<SpeakerEnrollmentJobSummary>>;
export interface ListSpeakerEnrollmentJobsResponse {
    JobSummaries?: SpeakerEnrollmentJobSummary[];
    NextToken?: string;
}
export declare const ListSpeakerEnrollmentJobsResponse: S.Schema<ListSpeakerEnrollmentJobsResponse>;
export interface ListSpeakersRequest {
    DomainId: string;
    MaxResults?: number;
    NextToken?: string;
}
export declare const ListSpeakersRequest: S.Schema<ListSpeakersRequest>;
export interface SpeakerSummary {
    DomainId?: string;
    CustomerSpeakerId?: string | redacted.Redacted<string>;
    GeneratedSpeakerId?: string;
    Status?: string;
    CreatedAt?: Date;
    UpdatedAt?: Date;
    LastAccessedAt?: Date;
}
export declare const SpeakerSummary: S.Schema<SpeakerSummary>;
export type SpeakerSummaries = SpeakerSummary[];
export declare const SpeakerSummaries: S.$Array<S.Schema<SpeakerSummary>>;
export interface ListSpeakersResponse {
    SpeakerSummaries?: SpeakerSummary[];
    NextToken?: string;
}
export declare const ListSpeakersResponse: S.Schema<ListSpeakersResponse>;
export interface ListTagsForResourceRequest {
    ResourceArn: string;
}
export declare const ListTagsForResourceRequest: S.Schema<ListTagsForResourceRequest>;
export interface Tag {
    Key: string | redacted.Redacted<string>;
    Value: string | redacted.Redacted<string>;
}
export declare const Tag: S.Schema<Tag>;
export type TagList = Tag[];
export declare const TagList: S.$Array<S.Schema<Tag>>;
export interface ListTagsForResourceResponse {
    Tags?: Tag[];
}
export declare const ListTagsForResourceResponse: S.Schema<ListTagsForResourceResponse>;
export interface ListWatchlistsRequest {
    DomainId: string;
    MaxResults?: number;
    NextToken?: string;
}
export declare const ListWatchlistsRequest: S.Schema<ListWatchlistsRequest>;
export interface WatchlistSummary {
    DomainId?: string;
    WatchlistId?: string;
    Name?: string | redacted.Redacted<string>;
    Description?: string | redacted.Redacted<string>;
    DefaultWatchlist?: boolean;
    CreatedAt?: Date;
    UpdatedAt?: Date;
}
export declare const WatchlistSummary: S.Schema<WatchlistSummary>;
export type WatchlistSummaries = WatchlistSummary[];
export declare const WatchlistSummaries: S.$Array<S.Schema<WatchlistSummary>>;
export interface ListWatchlistsResponse {
    WatchlistSummaries?: WatchlistSummary[];
    NextToken?: string;
}
export declare const ListWatchlistsResponse: S.Schema<ListWatchlistsResponse>;
export interface OptOutSpeakerRequest {
    DomainId: string;
    SpeakerId: string | redacted.Redacted<string>;
}
export declare const OptOutSpeakerRequest: S.Schema<OptOutSpeakerRequest>;
export interface OptOutSpeakerResponse {
    Speaker?: Speaker;
}
export declare const OptOutSpeakerResponse: S.Schema<OptOutSpeakerResponse>;
export interface StartFraudsterRegistrationJobRequest {
    ClientToken?: string;
    JobName?: string | redacted.Redacted<string>;
    DomainId: string;
    DataAccessRoleArn: string;
    RegistrationConfig?: RegistrationConfig;
    InputDataConfig: InputDataConfig;
    OutputDataConfig: OutputDataConfig;
}
export declare const StartFraudsterRegistrationJobRequest: S.Schema<StartFraudsterRegistrationJobRequest>;
export interface StartFraudsterRegistrationJobResponse {
    Job?: FraudsterRegistrationJob;
}
export declare const StartFraudsterRegistrationJobResponse: S.Schema<StartFraudsterRegistrationJobResponse>;
export interface StartSpeakerEnrollmentJobRequest {
    ClientToken?: string;
    JobName?: string | redacted.Redacted<string>;
    DomainId: string;
    DataAccessRoleArn: string;
    EnrollmentConfig?: EnrollmentConfig;
    InputDataConfig: InputDataConfig;
    OutputDataConfig: OutputDataConfig;
}
export declare const StartSpeakerEnrollmentJobRequest: S.Schema<StartSpeakerEnrollmentJobRequest>;
export interface StartSpeakerEnrollmentJobResponse {
    Job?: SpeakerEnrollmentJob;
}
export declare const StartSpeakerEnrollmentJobResponse: S.Schema<StartSpeakerEnrollmentJobResponse>;
export interface TagResourceRequest {
    ResourceArn: string;
    Tags: Tag[];
}
export declare const TagResourceRequest: S.Schema<TagResourceRequest>;
export interface TagResourceResponse {
}
export declare const TagResourceResponse: S.Schema<TagResourceResponse>;
export type TagKeyList = string | redacted.Redacted<string>[];
export declare const TagKeyList: S.$Array<S.Schema<string | redacted.Redacted<string>>>;
export interface UntagResourceRequest {
    ResourceArn: string;
    TagKeys: string | redacted.Redacted<string>[];
}
export declare const UntagResourceRequest: S.Schema<UntagResourceRequest>;
export interface UntagResourceResponse {
}
export declare const UntagResourceResponse: S.Schema<UntagResourceResponse>;
export interface UpdateWatchlistRequest {
    DomainId: string;
    WatchlistId: string;
    Name?: string | redacted.Redacted<string>;
    Description?: string | redacted.Redacted<string>;
}
export declare const UpdateWatchlistRequest: S.Schema<UpdateWatchlistRequest>;
export interface UpdateWatchlistResponse {
    Watchlist?: Watchlist;
}
export declare const UpdateWatchlistResponse: S.Schema<UpdateWatchlistResponse>;
export interface ServerSideEncryptionConfiguration {
    KmsKeyId: string;
}
export declare const ServerSideEncryptionConfiguration: S.Schema<ServerSideEncryptionConfiguration>;
export interface CreateDomainRequest {
    Name: string | redacted.Redacted<string>;
    Description?: string | redacted.Redacted<string>;
    ServerSideEncryptionConfiguration: ServerSideEncryptionConfiguration;
    ClientToken?: string;
    Tags?: Tag[];
}
export declare const CreateDomainRequest: S.Schema<CreateDomainRequest>;
export interface ServerSideEncryptionUpdateDetails {
    OldKmsKeyId?: string;
    UpdateStatus?: string;
    Message?: string;
}
export declare const ServerSideEncryptionUpdateDetails: S.Schema<ServerSideEncryptionUpdateDetails>;
export interface WatchlistDetails {
    DefaultWatchlistId: string;
}
export declare const WatchlistDetails: S.Schema<WatchlistDetails>;
export interface Domain {
    DomainId?: string;
    Arn?: string;
    Name?: string | redacted.Redacted<string>;
    Description?: string | redacted.Redacted<string>;
    DomainStatus?: string;
    ServerSideEncryptionConfiguration?: ServerSideEncryptionConfiguration;
    CreatedAt?: Date;
    UpdatedAt?: Date;
    ServerSideEncryptionUpdateDetails?: ServerSideEncryptionUpdateDetails;
    WatchlistDetails?: WatchlistDetails;
}
export declare const Domain: S.Schema<Domain>;
export interface CreateDomainResponse {
    Domain?: Domain;
}
export declare const CreateDomainResponse: S.Schema<CreateDomainResponse>;
export interface DescribeDomainRequest {
    DomainId: string;
}
export declare const DescribeDomainRequest: S.Schema<DescribeDomainRequest>;
export interface DescribeDomainResponse {
    Domain?: Domain;
}
export declare const DescribeDomainResponse: S.Schema<DescribeDomainResponse>;
export interface UpdateDomainRequest {
    DomainId: string;
    Name: string | redacted.Redacted<string>;
    Description?: string | redacted.Redacted<string>;
    ServerSideEncryptionConfiguration: ServerSideEncryptionConfiguration;
}
export declare const UpdateDomainRequest: S.Schema<UpdateDomainRequest>;
export interface UpdateDomainResponse {
    Domain?: Domain;
}
export declare const UpdateDomainResponse: S.Schema<UpdateDomainResponse>;
export interface DeleteDomainRequest {
    DomainId: string;
}
export declare const DeleteDomainRequest: S.Schema<DeleteDomainRequest>;
export interface DeleteDomainResponse {
}
export declare const DeleteDomainResponse: S.Schema<DeleteDomainResponse>;
export interface ListDomainsRequest {
    MaxResults?: number;
    NextToken?: string;
}
export declare const ListDomainsRequest: S.Schema<ListDomainsRequest>;
export interface DomainSummary {
    DomainId?: string;
    Arn?: string;
    Name?: string | redacted.Redacted<string>;
    Description?: string | redacted.Redacted<string>;
    DomainStatus?: string;
    ServerSideEncryptionConfiguration?: ServerSideEncryptionConfiguration;
    CreatedAt?: Date;
    UpdatedAt?: Date;
    ServerSideEncryptionUpdateDetails?: ServerSideEncryptionUpdateDetails;
    WatchlistDetails?: WatchlistDetails;
}
export declare const DomainSummary: S.Schema<DomainSummary>;
export type DomainSummaries = DomainSummary[];
export declare const DomainSummaries: S.$Array<S.Schema<DomainSummary>>;
export interface ListDomainsResponse {
    DomainSummaries?: DomainSummary[];
    NextToken?: string;
}
export declare const ListDomainsResponse: S.Schema<ListDomainsResponse>;
declare const AccessDeniedException_base: S.Class<AccessDeniedException, S.TaggedStruct<"AccessDeniedException", {
    readonly Message: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        AuthError: true;
    };
});
export declare class AccessDeniedException extends AccessDeniedException_base {
}
declare const ConflictException_base: S.Class<ConflictException, S.TaggedStruct<"ConflictException", {
    readonly Message: S.optional<S.String>;
    readonly ConflictType: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ConflictError: true;
    };
});
export declare class ConflictException extends ConflictException_base {
}
declare const InternalServerException_base: S.Class<InternalServerException, S.TaggedStruct<"InternalServerException", {
    readonly Message: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ServerError: true;
    };
});
export declare class InternalServerException extends InternalServerException_base {
}
declare const ResourceNotFoundException_base: S.Class<ResourceNotFoundException, S.TaggedStruct<"ResourceNotFoundException", {
    readonly Message: S.optional<S.String>;
    readonly ResourceType: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class ResourceNotFoundException extends ResourceNotFoundException_base {
}
declare const ServiceQuotaExceededException_base: S.Class<ServiceQuotaExceededException, S.TaggedStruct<"ServiceQuotaExceededException", {
    readonly Message: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        QuotaError: true;
    };
});
export declare class ServiceQuotaExceededException extends ServiceQuotaExceededException_base {
}
declare const ThrottlingException_base: S.Class<ThrottlingException, S.TaggedStruct<"ThrottlingException", {
    readonly Message: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ThrottlingError: true;
    };
});
export declare class ThrottlingException extends ThrottlingException_base {
}
declare const ValidationException_base: S.Class<ValidationException, S.TaggedStruct<"ValidationException", {
    readonly Message: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class ValidationException extends ValidationException_base {
}
export type AssociateFraudsterError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ServiceQuotaExceededException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Associates the fraudsters with the watchlist specified in the same domain.
 */
export declare const associateFraudster: API.OperationMethod<AssociateFraudsterRequest, AssociateFraudsterResponse, AssociateFraudsterError, Credentials | Region | HttpClient.HttpClient>;
export type CreateWatchlistError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ServiceQuotaExceededException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Creates a watchlist that fraudsters can be a part of.
 */
export declare const createWatchlist: API.OperationMethod<CreateWatchlistRequest, CreateWatchlistResponse, CreateWatchlistError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteFraudsterError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Deletes the specified fraudster from Voice ID. This action disassociates the fraudster from any watchlists it is a part of.
 */
export declare const deleteFraudster: API.OperationMethod<DeleteFraudsterRequest, DeleteFraudsterResponse, DeleteFraudsterError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteSpeakerError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Deletes the specified speaker from Voice ID.
 */
export declare const deleteSpeaker: API.OperationMethod<DeleteSpeakerRequest, DeleteSpeakerResponse, DeleteSpeakerError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteWatchlistError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Deletes the specified watchlist from Voice ID. This API throws an exception when
 * there are fraudsters in the watchlist that you are trying to delete. You must delete the
 * fraudsters, and then delete the watchlist. Every domain has a default watchlist which cannot be deleted.
 */
export declare const deleteWatchlist: API.OperationMethod<DeleteWatchlistRequest, DeleteWatchlistResponse, DeleteWatchlistError, Credentials | Region | HttpClient.HttpClient>;
export type DescribeFraudsterError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Describes the specified fraudster.
 */
export declare const describeFraudster: API.OperationMethod<DescribeFraudsterRequest, DescribeFraudsterResponse, DescribeFraudsterError, Credentials | Region | HttpClient.HttpClient>;
export type DescribeFraudsterRegistrationJobError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Describes the specified fraudster registration job.
 */
export declare const describeFraudsterRegistrationJob: API.OperationMethod<DescribeFraudsterRegistrationJobRequest, DescribeFraudsterRegistrationJobResponse, DescribeFraudsterRegistrationJobError, Credentials | Region | HttpClient.HttpClient>;
export type DescribeSpeakerError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Describes the specified speaker.
 */
export declare const describeSpeaker: API.OperationMethod<DescribeSpeakerRequest, DescribeSpeakerResponse, DescribeSpeakerError, Credentials | Region | HttpClient.HttpClient>;
export type DescribeSpeakerEnrollmentJobError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Describes the specified speaker enrollment job.
 */
export declare const describeSpeakerEnrollmentJob: API.OperationMethod<DescribeSpeakerEnrollmentJobRequest, DescribeSpeakerEnrollmentJobResponse, DescribeSpeakerEnrollmentJobError, Credentials | Region | HttpClient.HttpClient>;
export type DescribeWatchlistError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Describes the specified watchlist.
 */
export declare const describeWatchlist: API.OperationMethod<DescribeWatchlistRequest, DescribeWatchlistResponse, DescribeWatchlistError, Credentials | Region | HttpClient.HttpClient>;
export type DisassociateFraudsterError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Disassociates the fraudsters from the watchlist specified. Voice ID always expects a
 * fraudster to be a part of at least one watchlist. If
 * you try to disassociate a fraudster from its only watchlist, a `ValidationException` is thrown.
 */
export declare const disassociateFraudster: API.OperationMethod<DisassociateFraudsterRequest, DisassociateFraudsterResponse, DisassociateFraudsterError, Credentials | Region | HttpClient.HttpClient>;
export type EvaluateSessionError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Evaluates a specified session based on audio data accumulated during a streaming
 * Amazon Connect Voice ID call.
 */
export declare const evaluateSession: API.OperationMethod<EvaluateSessionRequest, EvaluateSessionResponse, EvaluateSessionError, Credentials | Region | HttpClient.HttpClient>;
export type ListFraudsterRegistrationJobsError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Lists all the fraudster registration jobs in the domain with the given
 * `JobStatus`. If `JobStatus` is not provided, this lists all
 * fraudster registration jobs in the given domain.
 */
export declare const listFraudsterRegistrationJobs: API.OperationMethod<ListFraudsterRegistrationJobsRequest, ListFraudsterRegistrationJobsResponse, ListFraudsterRegistrationJobsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListFraudsterRegistrationJobsRequest) => stream.Stream<ListFraudsterRegistrationJobsResponse, ListFraudsterRegistrationJobsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListFraudsterRegistrationJobsRequest) => stream.Stream<FraudsterRegistrationJobSummary, ListFraudsterRegistrationJobsError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListFraudstersError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Lists all fraudsters in a specified watchlist or domain.
 */
export declare const listFraudsters: API.OperationMethod<ListFraudstersRequest, ListFraudstersResponse, ListFraudstersError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListFraudstersRequest) => stream.Stream<ListFraudstersResponse, ListFraudstersError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListFraudstersRequest) => stream.Stream<FraudsterSummary, ListFraudstersError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListSpeakerEnrollmentJobsError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Lists all the speaker enrollment jobs in the domain with the specified
 * `JobStatus`. If `JobStatus` is not provided, this lists all
 * jobs with all possible speaker enrollment job statuses.
 */
export declare const listSpeakerEnrollmentJobs: API.OperationMethod<ListSpeakerEnrollmentJobsRequest, ListSpeakerEnrollmentJobsResponse, ListSpeakerEnrollmentJobsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListSpeakerEnrollmentJobsRequest) => stream.Stream<ListSpeakerEnrollmentJobsResponse, ListSpeakerEnrollmentJobsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListSpeakerEnrollmentJobsRequest) => stream.Stream<SpeakerEnrollmentJobSummary, ListSpeakerEnrollmentJobsError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListSpeakersError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Lists all speakers in a specified domain.
 */
export declare const listSpeakers: API.OperationMethod<ListSpeakersRequest, ListSpeakersResponse, ListSpeakersError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListSpeakersRequest) => stream.Stream<ListSpeakersResponse, ListSpeakersError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListSpeakersRequest) => stream.Stream<SpeakerSummary, ListSpeakersError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListTagsForResourceError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Lists all tags associated with a specified Voice ID resource.
 */
export declare const listTagsForResource: API.OperationMethod<ListTagsForResourceRequest, ListTagsForResourceResponse, ListTagsForResourceError, Credentials | Region | HttpClient.HttpClient>;
export type ListWatchlistsError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Lists all watchlists in a specified domain.
 */
export declare const listWatchlists: API.OperationMethod<ListWatchlistsRequest, ListWatchlistsResponse, ListWatchlistsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListWatchlistsRequest) => stream.Stream<ListWatchlistsResponse, ListWatchlistsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListWatchlistsRequest) => stream.Stream<WatchlistSummary, ListWatchlistsError, Credentials | Region | HttpClient.HttpClient>;
};
export type OptOutSpeakerError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ServiceQuotaExceededException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Opts out a speaker from Voice ID. A speaker can be opted out regardless of whether or
 * not they already exist in Voice ID. If they don't yet exist, a new speaker is created
 * in an opted out state. If they already exist, their existing status is overridden and
 * they are opted out. Enrollment and evaluation authentication requests are rejected for
 * opted out speakers, and opted out speakers have no voice embeddings stored in
 * Voice ID.
 */
export declare const optOutSpeaker: API.OperationMethod<OptOutSpeakerRequest, OptOutSpeakerResponse, OptOutSpeakerError, Credentials | Region | HttpClient.HttpClient>;
export type StartFraudsterRegistrationJobError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ServiceQuotaExceededException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Starts a new batch fraudster registration job using provided details.
 */
export declare const startFraudsterRegistrationJob: API.OperationMethod<StartFraudsterRegistrationJobRequest, StartFraudsterRegistrationJobResponse, StartFraudsterRegistrationJobError, Credentials | Region | HttpClient.HttpClient>;
export type StartSpeakerEnrollmentJobError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ServiceQuotaExceededException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Starts a new batch speaker enrollment job using specified details.
 */
export declare const startSpeakerEnrollmentJob: API.OperationMethod<StartSpeakerEnrollmentJobRequest, StartSpeakerEnrollmentJobResponse, StartSpeakerEnrollmentJobError, Credentials | Region | HttpClient.HttpClient>;
export type TagResourceError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Tags a Voice ID resource with the provided list of tags.
 */
export declare const tagResource: API.OperationMethod<TagResourceRequest, TagResourceResponse, TagResourceError, Credentials | Region | HttpClient.HttpClient>;
export type UntagResourceError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Removes specified tags from a specified Amazon Connect Voice ID resource.
 */
export declare const untagResource: API.OperationMethod<UntagResourceRequest, UntagResourceResponse, UntagResourceError, Credentials | Region | HttpClient.HttpClient>;
export type UpdateWatchlistError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Updates the specified watchlist. Every domain has a default watchlist which cannot be updated.
 */
export declare const updateWatchlist: API.OperationMethod<UpdateWatchlistRequest, UpdateWatchlistResponse, UpdateWatchlistError, Credentials | Region | HttpClient.HttpClient>;
export type CreateDomainError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ServiceQuotaExceededException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Creates a domain that contains all Amazon Connect Voice ID data, such as speakers, fraudsters,
 * customer audio, and voiceprints. Every domain is created with a default watchlist that fraudsters can be a part of.
 */
export declare const createDomain: API.OperationMethod<CreateDomainRequest, CreateDomainResponse, CreateDomainError, Credentials | Region | HttpClient.HttpClient>;
export type DescribeDomainError = AccessDeniedException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Describes the specified domain.
 */
export declare const describeDomain: API.OperationMethod<DescribeDomainRequest, DescribeDomainResponse, DescribeDomainError, Credentials | Region | HttpClient.HttpClient>;
export type UpdateDomainError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Updates the specified domain. This API has clobber behavior, and clears and replaces
 * all attributes. If an optional field, such as 'Description' is not provided, it is
 * removed from the domain.
 */
export declare const updateDomain: API.OperationMethod<UpdateDomainRequest, UpdateDomainResponse, UpdateDomainError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteDomainError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Deletes the specified domain from Voice ID.
 */
export declare const deleteDomain: API.OperationMethod<DeleteDomainRequest, DeleteDomainResponse, DeleteDomainError, Credentials | Region | HttpClient.HttpClient>;
export type ListDomainsError = AccessDeniedException | InternalServerException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Lists all the domains in the Amazon Web Services account.
 */
export declare const listDomains: API.OperationMethod<ListDomainsRequest, ListDomainsResponse, ListDomainsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListDomainsRequest) => stream.Stream<ListDomainsResponse, ListDomainsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListDomainsRequest) => stream.Stream<DomainSummary, ListDomainsError, Credentials | Region | HttpClient.HttpClient>;
};
export {};
//# sourceMappingURL=voice-id.d.ts.map