export interface ProgressiveDialerConfig {
    bandwidthAllocation: number;
    dialingCapacity?: number;
}
export interface PredictiveDialerConfig {
    bandwidthAllocation: number;
    dialingCapacity?: number;
}
export interface AgentlessDialerConfig {
    dialingCapacity?: number;
}
export interface AnswerMachineDetectionConfig {
    /** Enable or disable answering machine detection */
    enableAnswerMachineDetection: boolean;
    /** Enable or disable await answer machine prompt */
    awaitAnswerMachinePrompt?: boolean;
}
export interface OutboundCallConfig {
    connectContactFlowId: string;
    connectSourcePhoneNumber?: string;
    connectQueueId?: string;
    answerMachineDetectionConfig?: AnswerMachineDetectionConfig;
}
export interface InstanceIdFilter {
    value: string;
    operator: 'Eq';
}
export interface CampaignFilters {
    instanceIdFilter?: InstanceIdFilter;
}
export interface DialRequest {
    clientToken: string;
    phoneNumber: string;
    expirationTime: string;
    attributes: Record<string, any>;
}
export interface EncryptionConfig {
    enabled: boolean;
    encryptionType?: 'KMS';
    keyArn?: string;
}
/** The request for Create Campaign API. */
export interface CreateCampaignInput {
    connectInstanceId: string;
    dialerConfig: {
        progressiveDialerConfig?: ProgressiveDialerConfig;
    } | {
        predictiveDialerConfig?: PredictiveDialerConfig;
    } | {
        agentlessDialerConfig?: AgentlessDialerConfig;
    };
    name: string;
    outboundCallConfig: OutboundCallConfig;
    tags?: Record<string, string>;
}
/** DeleteCampaignRequest */
export interface DeleteCampaignInput {
    id: string;
}
/** DeleteCampaignRequest */
export interface DeleteConnectInstanceConfigInput {
    connectInstanceId: string;
}
/** The request for DeleteInstanceOnboardingJob API. */
export interface DeleteInstanceOnboardingJobInput {
    connectInstanceId: string;
}
/** DescribeCampaignRequests */
export interface DescribeCampaignInput {
    id: string;
}
/** GetCampaignStateRequest */
export interface GetCampaignStateInput {
    id: string;
}
/** GetCampaignStateBatchRequest */
export interface GetCampaignStateBatchInput {
    campaignIds: string[];
}
/** GetConnectInstanceConfigRequest */
export interface GetConnectInstanceConfigInput {
    connectInstanceId: string;
}
/** GetInstanceOnboardingJobStatusRequest */
export interface GetInstanceOnboardingJobStatusInput {
    connectInstanceId: string;
}
/** ListCampaignsRequest */
export interface ListCampaignsInput {
    filters?: CampaignFilters;
    maxResults?: number;
    nextToken?: string;
}
/** ListTagsForResource */
export interface ListTagsForResourceInput {
    arn: string;
}
/** PauseCampaignRequest */
export interface PauseCampaignInput {
    id: string;
}
/** PutDialRequestBatchRequest */
export interface PutDialRequestBatchInput {
    dialRequests: DialRequest[];
    id: string;
}
/** ResumeCampaignRequest */
export interface ResumeCampaignInput {
    id: string;
}
/** StartCampaignRequest */
export interface StartCampaignInput {
    id: string;
}
/** The request for StartInstanceOnboardingJob API. */
export interface StartInstanceOnboardingJobInput {
    connectInstanceId: string;
    encryptionConfig: EncryptionConfig;
}
/** StopCampaignRequest */
export interface StopCampaignInput {
    id: string;
}
/** TagResourceRequest */
export interface TagResourceInput {
    arn: string;
    tags: Record<string, string>;
}
/** UntagResourceRequest */
export interface UntagResourceInput {
    arn: string;
    tagKeys: string[];
}
/** UpdateCampaignDialerConfigRequest */
export interface UpdateCampaignDialerConfigInput {
    dialerConfig: {
        progressiveDialerConfig?: ProgressiveDialerConfig;
    } | {
        predictiveDialerConfig?: PredictiveDialerConfig;
    } | {
        agentlessDialerConfig?: AgentlessDialerConfig;
    };
    id: string;
}
/** UpdateCampaignNameRequest */
export interface UpdateCampaignNameInput {
    id: string;
    name: string;
}
/** UpdateCampaignOutboundCallConfigRequest */
export interface UpdateCampaignOutboundCallConfigInput {
    id: string;
    answerMachineDetectionConfig?: AnswerMachineDetectionConfig;
    connectContactFlowId?: string;
    connectSourcePhoneNumber?: string;
}
/** ConnectCampaigns service binding for Step Functions SDK integrations. */
export declare class ConnectCampaigns {
    constructor();
    createCampaign<T>(params: CreateCampaignInput): Promise<T>;
    deleteCampaign<T>(params: DeleteCampaignInput): Promise<T>;
    deleteConnectInstanceConfig<T>(params: DeleteConnectInstanceConfigInput): 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>;
    getInstanceOnboardingJobStatus<T>(params: GetInstanceOnboardingJobStatusInput): Promise<T>;
    listCampaigns<T>(params: ListCampaignsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    pauseCampaign<T>(params: PauseCampaignInput): Promise<T>;
    putDialRequestBatch<T>(params: PutDialRequestBatchInput): 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>;
    updateCampaignDialerConfig<T>(params: UpdateCampaignDialerConfigInput): Promise<T>;
    updateCampaignName<T>(params: UpdateCampaignNameInput): Promise<T>;
    updateCampaignOutboundCallConfig<T>(params: UpdateCampaignOutboundCallConfigInput): Promise<T>;
}
//# sourceMappingURL=ConnectCampaigns.d.ts.map