export interface CloudWatchLogsDestination {
    /** The Amazon Resource Name (ARN) of an Amazon Identity and Access Management (IAM) role that is able to write event data to an Amazon CloudWatch destination. */
    IamRoleArn?: string;
    /** The name of the Amazon CloudWatch Log Group that you want to record events in. */
    LogGroupArn?: string;
}
export interface KinesisFirehoseDestination {
    /** The Amazon Resource Name (ARN) of an IAM role that can write data to an Amazon Kinesis Data Firehose stream. */
    DeliveryStreamArn?: string;
    /** The Amazon Resource Name (ARN) of the Amazon Kinesis Data Firehose destination that you want to use in the event destination. */
    IamRoleArn?: string;
}
export interface SnsDestination {
    /** The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to publish events to. */
    TopicArn?: string;
}
export interface EventDestinationDefinition {
    CloudWatchLogsDestination?: CloudWatchLogsDestination;
    /** Indicates whether or not the event destination is enabled. If the event destination is enabled, then Amazon Pinpoint sends response data to the specified event destination. */
    Enabled?: boolean;
    KinesisFirehoseDestination?: KinesisFirehoseDestination;
    MatchingEventTypes?: 'INITIATED_CALL' | 'RINGING' | 'ANSWERED' | 'COMPLETED_CALL' | 'BUSY' | 'FAILED' | 'NO_ANSWER'[];
    SnsDestination?: SnsDestination;
}
export interface CallInstructionsMessageType {
    /** The language to use when delivering the message. For a complete list of supported languages, see the Amazon Polly Developer Guide. */
    Text?: string;
}
export interface PlainTextMessageType {
    /** The language to use when delivering the message. For a complete list of supported languages, see the Amazon Polly Developer Guide. */
    LanguageCode?: string;
    /** The plain (not SSML-formatted) text to deliver to the recipient. */
    Text?: string;
    /** The name of the voice that you want to use to deliver the message. For a complete list of supported voices, see the Amazon Polly Developer Guide. */
    VoiceId?: string;
}
export interface SSMLMessageType {
    /** The language to use when delivering the message. For a complete list of supported languages, see the Amazon Polly Developer Guide. */
    LanguageCode?: string;
    /** The SSML-formatted text to deliver to the recipient. */
    Text?: string;
    /** The name of the voice that you want to use to deliver the message. For a complete list of supported voices, see the Amazon Polly Developer Guide. */
    VoiceId?: string;
}
export interface VoiceMessageContent {
    CallInstructionsMessage?: CallInstructionsMessageType;
    PlainTextMessage?: PlainTextMessageType;
    SSMLMessage?: SSMLMessageType;
}
/** A request to create a new configuration set. */
export interface CreateConfigurationSetInput {
    /** The name that you want to give the configuration set. */
    ConfigurationSetName?: string;
}
/** Create a new event destination in a configuration set. */
export interface CreateConfigurationSetEventDestinationInput {
    /** ConfigurationSetName */
    ConfigurationSetName: string;
    EventDestination?: EventDestinationDefinition;
    /** A name that identifies the event destination. */
    EventDestinationName?: string;
}
export interface DeleteConfigurationSetInput {
    /** ConfigurationSetName */
    ConfigurationSetName: string;
}
export interface DeleteConfigurationSetEventDestinationInput {
    /** ConfigurationSetName */
    ConfigurationSetName: string;
    /** EventDestinationName */
    EventDestinationName: string;
}
export interface GetConfigurationSetEventDestinationsInput {
    /** ConfigurationSetName */
    ConfigurationSetName: string;
}
export interface ListConfigurationSetsInput {
    /** A token returned from a previous call to the API that indicates the position in the list of results. */
    NextToken?: string;
    /** Used to specify the number of items that should be returned in the response. */
    PageSize?: string;
}
/** SendVoiceMessageRequest */
export interface SendVoiceMessageInput {
    /** The phone number that appears on recipients' devices when they receive the message. */
    CallerId?: string;
    /** The name of the configuration set that you want to use to send the message. */
    ConfigurationSetName?: string;
    Content?: VoiceMessageContent;
    /** The phone number that you want to send the voice message to. */
    DestinationPhoneNumber?: string;
    /** The phone number that Amazon Pinpoint should use to send the voice message. This isn't necessarily the phone number that appears on recipients' devices when they receive the message, because you can s */
    OriginationPhoneNumber?: string;
}
/** UpdateConfigurationSetEventDestinationRequest */
export interface UpdateConfigurationSetEventDestinationInput {
    /** ConfigurationSetName */
    ConfigurationSetName: string;
    /** EventDestinationName */
    EventDestinationName: string;
    EventDestination?: EventDestinationDefinition;
}
/** Pinpoint SMS Voice service binding for Step Functions SDK integrations. */
export declare class PinpointSMSVoice {
    constructor();
    createConfigurationSet<T>(params: CreateConfigurationSetInput): Promise<T>;
    createConfigurationSetEventDestination<T>(params: CreateConfigurationSetEventDestinationInput): Promise<T>;
    deleteConfigurationSet<T>(params: DeleteConfigurationSetInput): Promise<T>;
    deleteConfigurationSetEventDestination<T>(params: DeleteConfigurationSetEventDestinationInput): Promise<T>;
    getConfigurationSetEventDestinations<T>(params: GetConfigurationSetEventDestinationsInput): Promise<T>;
    listConfigurationSets<T>(params: ListConfigurationSetsInput): Promise<T>;
    sendVoiceMessage<T>(params: SendVoiceMessageInput): Promise<T>;
    updateConfigurationSetEventDestination<T>(params: UpdateConfigurationSetEventDestinationInput): Promise<T>;
}
//# sourceMappingURL=PinpointSMSVoice.d.ts.map