import { EndpointsInputConfig, EndpointsResolvedConfig, RegionInputConfig, RegionResolvedConfig } from "@aws-sdk/config-resolver";
import { HostHeaderInputConfig, HostHeaderResolvedConfig } from "@aws-sdk/middleware-host-header";
import { RetryInputConfig, RetryResolvedConfig } from "@aws-sdk/middleware-retry";
import { AwsAuthInputConfig, AwsAuthResolvedConfig } from "@aws-sdk/middleware-signing";
import { UserAgentInputConfig, UserAgentResolvedConfig } from "@aws-sdk/middleware-user-agent";
import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http";
import { Client as __Client, DefaultsMode, SmithyConfiguration as __SmithyConfiguration, SmithyResolvedConfiguration as __SmithyResolvedConfiguration } from "@aws-sdk/smithy-client";
import { BodyLengthCalculator as __BodyLengthCalculator, Credentials as __Credentials, Decoder as __Decoder, Encoder as __Encoder, HashConstructor as __HashConstructor, HttpHandlerOptions as __HttpHandlerOptions, Logger as __Logger, Provider as __Provider, Provider, RegionInfoProvider, StreamCollector as __StreamCollector, UrlParser as __UrlParser, UserAgent as __UserAgent } from "@aws-sdk/types";
import { AcknowledgeJobCommandInput, AcknowledgeJobCommandOutput } from "./commands/AcknowledgeJobCommand";
import { AcknowledgeThirdPartyJobCommandInput, AcknowledgeThirdPartyJobCommandOutput } from "./commands/AcknowledgeThirdPartyJobCommand";
import { CreateCustomActionTypeCommandInput, CreateCustomActionTypeCommandOutput } from "./commands/CreateCustomActionTypeCommand";
import { CreatePipelineCommandInput, CreatePipelineCommandOutput } from "./commands/CreatePipelineCommand";
import { DeleteCustomActionTypeCommandInput, DeleteCustomActionTypeCommandOutput } from "./commands/DeleteCustomActionTypeCommand";
import { DeletePipelineCommandInput, DeletePipelineCommandOutput } from "./commands/DeletePipelineCommand";
import { DeleteWebhookCommandInput, DeleteWebhookCommandOutput } from "./commands/DeleteWebhookCommand";
import { DeregisterWebhookWithThirdPartyCommandInput, DeregisterWebhookWithThirdPartyCommandOutput } from "./commands/DeregisterWebhookWithThirdPartyCommand";
import { DisableStageTransitionCommandInput, DisableStageTransitionCommandOutput } from "./commands/DisableStageTransitionCommand";
import { EnableStageTransitionCommandInput, EnableStageTransitionCommandOutput } from "./commands/EnableStageTransitionCommand";
import { GetActionTypeCommandInput, GetActionTypeCommandOutput } from "./commands/GetActionTypeCommand";
import { GetJobDetailsCommandInput, GetJobDetailsCommandOutput } from "./commands/GetJobDetailsCommand";
import { GetPipelineCommandInput, GetPipelineCommandOutput } from "./commands/GetPipelineCommand";
import { GetPipelineExecutionCommandInput, GetPipelineExecutionCommandOutput } from "./commands/GetPipelineExecutionCommand";
import { GetPipelineStateCommandInput, GetPipelineStateCommandOutput } from "./commands/GetPipelineStateCommand";
import { GetThirdPartyJobDetailsCommandInput, GetThirdPartyJobDetailsCommandOutput } from "./commands/GetThirdPartyJobDetailsCommand";
import { ListActionExecutionsCommandInput, ListActionExecutionsCommandOutput } from "./commands/ListActionExecutionsCommand";
import { ListActionTypesCommandInput, ListActionTypesCommandOutput } from "./commands/ListActionTypesCommand";
import { ListPipelineExecutionsCommandInput, ListPipelineExecutionsCommandOutput } from "./commands/ListPipelineExecutionsCommand";
import { ListPipelinesCommandInput, ListPipelinesCommandOutput } from "./commands/ListPipelinesCommand";
import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "./commands/ListTagsForResourceCommand";
import { ListWebhooksCommandInput, ListWebhooksCommandOutput } from "./commands/ListWebhooksCommand";
import { PollForJobsCommandInput, PollForJobsCommandOutput } from "./commands/PollForJobsCommand";
import { PollForThirdPartyJobsCommandInput, PollForThirdPartyJobsCommandOutput } from "./commands/PollForThirdPartyJobsCommand";
import { PutActionRevisionCommandInput, PutActionRevisionCommandOutput } from "./commands/PutActionRevisionCommand";
import { PutApprovalResultCommandInput, PutApprovalResultCommandOutput } from "./commands/PutApprovalResultCommand";
import { PutJobFailureResultCommandInput, PutJobFailureResultCommandOutput } from "./commands/PutJobFailureResultCommand";
import { PutJobSuccessResultCommandInput, PutJobSuccessResultCommandOutput } from "./commands/PutJobSuccessResultCommand";
import { PutThirdPartyJobFailureResultCommandInput, PutThirdPartyJobFailureResultCommandOutput } from "./commands/PutThirdPartyJobFailureResultCommand";
import { PutThirdPartyJobSuccessResultCommandInput, PutThirdPartyJobSuccessResultCommandOutput } from "./commands/PutThirdPartyJobSuccessResultCommand";
import { PutWebhookCommandInput, PutWebhookCommandOutput } from "./commands/PutWebhookCommand";
import { RegisterWebhookWithThirdPartyCommandInput, RegisterWebhookWithThirdPartyCommandOutput } from "./commands/RegisterWebhookWithThirdPartyCommand";
import { RetryStageExecutionCommandInput, RetryStageExecutionCommandOutput } from "./commands/RetryStageExecutionCommand";
import { StartPipelineExecutionCommandInput, StartPipelineExecutionCommandOutput } from "./commands/StartPipelineExecutionCommand";
import { StopPipelineExecutionCommandInput, StopPipelineExecutionCommandOutput } from "./commands/StopPipelineExecutionCommand";
import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
import { UpdateActionTypeCommandInput, UpdateActionTypeCommandOutput } from "./commands/UpdateActionTypeCommand";
import { UpdatePipelineCommandInput, UpdatePipelineCommandOutput } from "./commands/UpdatePipelineCommand";
export declare type ServiceInputTypes = AcknowledgeJobCommandInput | AcknowledgeThirdPartyJobCommandInput | CreateCustomActionTypeCommandInput | CreatePipelineCommandInput | DeleteCustomActionTypeCommandInput | DeletePipelineCommandInput | DeleteWebhookCommandInput | DeregisterWebhookWithThirdPartyCommandInput | DisableStageTransitionCommandInput | EnableStageTransitionCommandInput | GetActionTypeCommandInput | GetJobDetailsCommandInput | GetPipelineCommandInput | GetPipelineExecutionCommandInput | GetPipelineStateCommandInput | GetThirdPartyJobDetailsCommandInput | ListActionExecutionsCommandInput | ListActionTypesCommandInput | ListPipelineExecutionsCommandInput | ListPipelinesCommandInput | ListTagsForResourceCommandInput | ListWebhooksCommandInput | PollForJobsCommandInput | PollForThirdPartyJobsCommandInput | PutActionRevisionCommandInput | PutApprovalResultCommandInput | PutJobFailureResultCommandInput | PutJobSuccessResultCommandInput | PutThirdPartyJobFailureResultCommandInput | PutThirdPartyJobSuccessResultCommandInput | PutWebhookCommandInput | RegisterWebhookWithThirdPartyCommandInput | RetryStageExecutionCommandInput | StartPipelineExecutionCommandInput | StopPipelineExecutionCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateActionTypeCommandInput | UpdatePipelineCommandInput;
export declare type ServiceOutputTypes = AcknowledgeJobCommandOutput | AcknowledgeThirdPartyJobCommandOutput | CreateCustomActionTypeCommandOutput | CreatePipelineCommandOutput | DeleteCustomActionTypeCommandOutput | DeletePipelineCommandOutput | DeleteWebhookCommandOutput | DeregisterWebhookWithThirdPartyCommandOutput | DisableStageTransitionCommandOutput | EnableStageTransitionCommandOutput | GetActionTypeCommandOutput | GetJobDetailsCommandOutput | GetPipelineCommandOutput | GetPipelineExecutionCommandOutput | GetPipelineStateCommandOutput | GetThirdPartyJobDetailsCommandOutput | ListActionExecutionsCommandOutput | ListActionTypesCommandOutput | ListPipelineExecutionsCommandOutput | ListPipelinesCommandOutput | ListTagsForResourceCommandOutput | ListWebhooksCommandOutput | PollForJobsCommandOutput | PollForThirdPartyJobsCommandOutput | PutActionRevisionCommandOutput | PutApprovalResultCommandOutput | PutJobFailureResultCommandOutput | PutJobSuccessResultCommandOutput | PutThirdPartyJobFailureResultCommandOutput | PutThirdPartyJobSuccessResultCommandOutput | PutWebhookCommandOutput | RegisterWebhookWithThirdPartyCommandOutput | RetryStageExecutionCommandOutput | StartPipelineExecutionCommandOutput | StopPipelineExecutionCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateActionTypeCommandOutput | UpdatePipelineCommandOutput;
export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> {
    
    requestHandler?: __HttpHandler;
    
    sha256?: __HashConstructor;
    
    urlParser?: __UrlParser;
    
    bodyLengthChecker?: __BodyLengthCalculator;
    
    streamCollector?: __StreamCollector;
    
    base64Decoder?: __Decoder;
    
    base64Encoder?: __Encoder;
    
    utf8Decoder?: __Decoder;
    
    utf8Encoder?: __Encoder;
    
    runtime?: string;
    
    disableHostPrefix?: boolean;
    
    maxAttempts?: number | __Provider<number>;
    
    retryMode?: string | __Provider<string>;
    
    logger?: __Logger;
    
    useDualstackEndpoint?: boolean | __Provider<boolean>;
    
    useFipsEndpoint?: boolean | __Provider<boolean>;
    
    serviceId?: string;
    
    region?: string | __Provider<string>;
    
    credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
    
    regionInfoProvider?: RegionInfoProvider;
    
    defaultUserAgentProvider?: Provider<__UserAgent>;
    
    defaultsMode?: DefaultsMode | Provider<DefaultsMode>;
}
declare type CodePipelineClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointsInputConfig & RetryInputConfig & HostHeaderInputConfig & AwsAuthInputConfig & UserAgentInputConfig;

export interface CodePipelineClientConfig extends CodePipelineClientConfigType {
}
declare type CodePipelineClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RegionResolvedConfig & EndpointsResolvedConfig & RetryResolvedConfig & HostHeaderResolvedConfig & AwsAuthResolvedConfig & UserAgentResolvedConfig;

export interface CodePipelineClientResolvedConfig extends CodePipelineClientResolvedConfigType {
}

export declare class CodePipelineClient extends __Client<__HttpHandlerOptions, ServiceInputTypes, ServiceOutputTypes, CodePipelineClientResolvedConfig> {
    
    readonly config: CodePipelineClientResolvedConfig;
    constructor(configuration: CodePipelineClientConfig);
    
    destroy(): void;
}
export {};
