export interface TelephonyChannelSubtypeConfig {
    capacity?: number;
    connectQueueId?: string;
    outboundMode: any;
    defaultOutboundConfig: any;
}
export interface SmsChannelSubtypeConfig {
    capacity?: number;
    outboundMode: any;
    defaultOutboundConfig: any;
}
export interface EmailChannelSubtypeConfig {
    capacity?: number;
    outboundMode: any;
    defaultOutboundConfig: any;
}
export interface WhatsAppChannelSubtypeConfig {
    capacity?: number;
    outboundMode: any;
    defaultOutboundConfig: any;
}
export interface ChannelSubtypeConfig {
    telephony?: TelephonyChannelSubtypeConfig;
    sms?: SmsChannelSubtypeConfig;
    email?: EmailChannelSubtypeConfig;
    whatsApp?: WhatsAppChannelSubtypeConfig;
}
export interface EventTrigger {
    customerProfilesDomainArn?: string;
}
export interface Schedule {
    startTime: string;
    endTime: string;
    refreshFrequency?: string;
}
export interface LocalTimeZoneConfig {
    defaultTimeZone?: string;
    localTimeZoneDetection?: any[];
}
export interface TimeWindow {
    openHours: any;
    restrictedPeriods?: any;
}
export interface CommunicationTimeConfig {
    localTimeZoneConfig: LocalTimeZoneConfig;
    telephony?: TimeWindow;
    sms?: TimeWindow;
    email?: TimeWindow;
    whatsApp?: TimeWindow;
}
export interface CommunicationLimitsConfig {
    allChannelSubtypes?: {
        communicationLimitsList?: any[];
    };
    instanceLimitsHandling?: 'OPT_IN' | 'OPT_OUT';
}
export interface CustomerProfilesIntegrationIdentifier {
    domainArn: string;
}
export interface QConnectIntegrationIdentifier {
    knowledgeBaseArn: string;
}
export interface LambdaIntegrationIdentifier {
    functionArn: string;
}
export interface InstanceIdFilter {
    value: string;
    operator: 'Eq';
}
export interface CampaignFilters {
    instanceIdFilter?: InstanceIdFilter;
}
export interface CustomerProfilesIntegrationConfig {
    domainArn: string;
    objectTypeNames: Record<string, any>;
}
export interface QConnectIntegrationConfig {
    knowledgeBaseArn: string;
}
export interface LambdaIntegrationConfig {
    functionArn: string;
}
export interface InstanceCommunicationLimitsConfig {
    allChannelSubtypes?: {
        communicationLimitsList?: any[];
    };
}
export interface OutboundRequest {
    clientToken: string;
    expirationTime: string;
    channelSubtypeParameters: any;
}
export interface ProfileOutboundRequest {
    clientToken: string;
    profileId: string;
    expirationTime?: string;
}
export interface EncryptionConfig {
    enabled: boolean;
    encryptionType?: 'KMS';
    keyArn?: string;
}
/** The request for CreateCampaign API. */
export interface CreateCampaignInput {
    connectInstanceId: string;
    name: string;
    channelSubtypeConfig?: ChannelSubtypeConfig;
    communicationLimitsOverride?: CommunicationLimitsConfig;
    communicationTimeConfig?: CommunicationTimeConfig;
    connectCampaignFlowArn?: string;
    schedule?: Schedule;
    source?: {
        customerProfilesSegmentArn?: string;
    } | {
        eventTrigger?: EventTrigger;
    };
    tags?: Record<string, string>;
    type?: 'MANAGED' | 'JOURNEY';
}
/** The request for DeleteCampaign API. */
export interface DeleteCampaignInput {
    id: string;
}
/** The request for DeleteCampaignChannelSubtypeConfig API. */
export interface DeleteCampaignChannelSubtypeConfigInput {
    channelSubtype: 'TELEPHONY' | 'SMS' | 'EMAIL' | 'WHATSAPP';
    id: string;
}
/** The request for DeleteCampaignCommunicationLimits API. */
export interface DeleteCampaignCommunicationLimitsInput {
    config: 'ALL_CHANNEL_SUBTYPES';
    id: string;
}
/** The request for DeleteCampaignCommunicationTime API. */
export interface DeleteCampaignCommunicationTimeInput {
    config: 'TELEPHONY' | 'SMS' | 'EMAIL' | 'WHATSAPP';
    id: string;
}
/** The request for DeleteConnectInstanceConfig API. */
export interface DeleteConnectInstanceConfigInput {
    connectInstanceId: string;
    campaignDeletionPolicy?: 'RETAIN_ALL' | 'DELETE_ALL';
}
/** The request for DeleteConnectInstanceIntegration API. */
export interface DeleteConnectInstanceIntegrationInput {
    connectInstanceId: string;
    integrationIdentifier: {
        customerProfiles?: CustomerProfilesIntegrationIdentifier;
    } | {
        qConnect?: QConnectIntegrationIdentifier;
    } | {
        lambda?: LambdaIntegrationIdentifier;
    };
}
/** The request for DeleteInstanceOnboardingJob API. */
export interface DeleteInstanceOnboardingJobInput {
    connectInstanceId: string;
}
/** The request for DescribeCampaign API. */
export interface DescribeCampaignInput {
    id: string;
}
/** The request for GetCampaignState API. */
export interface GetCampaignStateInput {
    id: string;
}
/** The request for GetCampaignStateBatch API. */
export interface GetCampaignStateBatchInput {
    campaignIds: string[];
}
/** The request for GetConnectInstanceConfig API. */
export interface GetConnectInstanceConfigInput {
    connectInstanceId: string;
}
/** The request for GetInstanceCommunicationLimits API. */
export interface GetInstanceCommunicationLimitsInput {
    connectInstanceId: string;
}
/** The request for GetInstanceOnboardingJobStatus API. */
export interface GetInstanceOnboardingJobStatusInput {
    connectInstanceId: string;
}
/** The request for ListCampaigns API. */
export interface ListCampaignsInput {
    filters?: CampaignFilters;
    maxResults?: number;
    nextToken?: string;
}
/** The request for ListConnectInstanceIntegrations API. */
export interface ListConnectInstanceIntegrationsInput {
    connectInstanceId: string;
    maxResults?: number;
    nextToken?: string;
}
/** The request for ListTagsForResource API. */
export interface ListTagsForResourceInput {
    arn: string;
}
/** The request for PauseCampaign API. */
export interface PauseCampaignInput {
    id: string;
}
/** The request for PutConnectInstanceIntegration API. */
export interface PutConnectInstanceIntegrationInput {
    connectInstanceId: string;
    integrationConfig: {
        customerProfiles?: CustomerProfilesIntegrationConfig;
    } | {
        qConnect?: QConnectIntegrationConfig;
    } | {
        lambda?: LambdaIntegrationConfig;
    };
}
/** The request for PutInstanceCommunicationLimits API. */
export interface PutInstanceCommunicationLimitsInput {
    communicationLimitsConfig: InstanceCommunicationLimitsConfig;
    connectInstanceId: string;
}
/** The request for PutOutboundRequestBatch API. */
export interface PutOutboundRequestBatchInput {
    id: string;
    outboundRequests: OutboundRequest[];
}
/** The request for PutProfileOutboundRequestBatch API */
export interface PutProfileOutboundRequestBatchInput {
    id: string;
    profileOutboundRequests: ProfileOutboundRequest[];
}
/** The request for ResumeCampaign API. */
export interface ResumeCampaignInput {
    id: string;
}
/** The request for StartCampaign API. */
export interface StartCampaignInput {
    id: string;
}
/** The request for StartInstanceOnboardingJob API. */
export interface StartInstanceOnboardingJobInput {
    connectInstanceId: string;
    encryptionConfig: EncryptionConfig;
}
/** The request for StopCampaign API. */
export interface StopCampaignInput {
    id: string;
}
/** The request for TagResource API. */
export interface TagResourceInput {
    arn: string;
    tags: Record<string, string>;
}
/** The request for UntagResource API. */
export interface UntagResourceInput {
    arn: string;
    tagKeys: string[];
}
/** The request for UpdateCampaignChannelSubtypeConfig API. */
export interface UpdateCampaignChannelSubtypeConfigInput {
    channelSubtypeConfig: ChannelSubtypeConfig;
    id: string;
}
/** The request for UpdateCampaignCommunicationLimits API. */
export interface UpdateCampaignCommunicationLimitsInput {
    communicationLimitsOverride: CommunicationLimitsConfig;
    id: string;
}
/** The request for UpdateCampaignCommunicationTime API. */
export interface UpdateCampaignCommunicationTimeInput {
    communicationTimeConfig: CommunicationTimeConfig;
    id: string;
}
/** The request for UpdateCampaignFlowAssociation API. */
export interface UpdateCampaignFlowAssociationInput {
    connectCampaignFlowArn: string;
    id: string;
}
/** The request for UpdateCampaignName API. */
export interface UpdateCampaignNameInput {
    id: string;
    name: string;
}
/** The request for UpdateCampaignSchedule API. */
export interface UpdateCampaignScheduleInput {
    id: string;
    schedule: Schedule;
}
/** The request for UpdateCampaignSource API. */
export interface UpdateCampaignSourceInput {
    id: string;
    source: {
        customerProfilesSegmentArn?: string;
    } | {
        eventTrigger?: EventTrigger;
    };
}
/** ConnectCampaignsV2 service binding for Step Functions SDK integrations. */
export declare class ConnectCampaignsV2 {
    constructor();
    createCampaign<T>(params: CreateCampaignInput): Promise<T>;
    deleteCampaign<T>(params: DeleteCampaignInput): Promise<T>;
    deleteCampaignChannelSubtypeConfig<T>(params: DeleteCampaignChannelSubtypeConfigInput): Promise<T>;
    deleteCampaignCommunicationLimits<T>(params: DeleteCampaignCommunicationLimitsInput): Promise<T>;
    deleteCampaignCommunicationTime<T>(params: DeleteCampaignCommunicationTimeInput): Promise<T>;
    deleteConnectInstanceConfig<T>(params: DeleteConnectInstanceConfigInput): Promise<T>;
    deleteConnectInstanceIntegration<T>(params: DeleteConnectInstanceIntegrationInput): Promise<T>;
    deleteInstanceOnboardingJob<T>(params: DeleteInstanceOnboardingJobInput): Promise<T>;
    describeCampaign<T>(params: DescribeCampaignInput): Promise<T>;
    getCampaignState<T>(params: GetCampaignStateInput): Promise<T>;
    getCampaignStateBatch<T>(params: GetCampaignStateBatchInput): Promise<T>;
    getConnectInstanceConfig<T>(params: GetConnectInstanceConfigInput): Promise<T>;
    getInstanceCommunicationLimits<T>(params: GetInstanceCommunicationLimitsInput): Promise<T>;
    getInstanceOnboardingJobStatus<T>(params: GetInstanceOnboardingJobStatusInput): Promise<T>;
    listCampaigns<T>(params: ListCampaignsInput): Promise<T>;
    listConnectInstanceIntegrations<T>(params: ListConnectInstanceIntegrationsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    pauseCampaign<T>(params: PauseCampaignInput): Promise<T>;
    putConnectInstanceIntegration<T>(params: PutConnectInstanceIntegrationInput): Promise<T>;
    putInstanceCommunicationLimits<T>(params: PutInstanceCommunicationLimitsInput): Promise<T>;
    putOutboundRequestBatch<T>(params: PutOutboundRequestBatchInput): Promise<T>;
    putProfileOutboundRequestBatch<T>(params: PutProfileOutboundRequestBatchInput): Promise<T>;
    resumeCampaign<T>(params: ResumeCampaignInput): Promise<T>;
    startCampaign<T>(params: StartCampaignInput): Promise<T>;
    startInstanceOnboardingJob<T>(params: StartInstanceOnboardingJobInput): Promise<T>;
    stopCampaign<T>(params: StopCampaignInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateCampaignChannelSubtypeConfig<T>(params: UpdateCampaignChannelSubtypeConfigInput): Promise<T>;
    updateCampaignCommunicationLimits<T>(params: UpdateCampaignCommunicationLimitsInput): Promise<T>;
    updateCampaignCommunicationTime<T>(params: UpdateCampaignCommunicationTimeInput): Promise<T>;
    updateCampaignFlowAssociation<T>(params: UpdateCampaignFlowAssociationInput): Promise<T>;
    updateCampaignName<T>(params: UpdateCampaignNameInput): Promise<T>;
    updateCampaignSchedule<T>(params: UpdateCampaignScheduleInput): Promise<T>;
    updateCampaignSource<T>(params: UpdateCampaignSourceInput): Promise<T>;
}
//# sourceMappingURL=ConnectCampaignsV2.d.ts.map