import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * The AWS::CodePipeline::Pipeline resource creates a CodePipeline pipeline that describes how software changes go through a release process.
 */
export declare class Pipeline extends pulumi.CustomResource {
    /**
     * Get an existing Pipeline resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Pipeline;
    /**
     * Returns true if the given object is an instance of Pipeline.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is Pipeline;
    /**
     * The S3 bucket where artifacts for the pipeline are stored.
     */
    readonly artifactStore: pulumi.Output<outputs.codepipeline.PipelineArtifactStore | undefined>;
    /**
     * A mapping of artifactStore objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.
     */
    readonly artifactStores: pulumi.Output<outputs.codepipeline.PipelineArtifactStoreMap[] | undefined>;
    /**
     * Represents the input of a DisableStageTransition action.
     */
    readonly disableInboundStageTransitions: pulumi.Output<outputs.codepipeline.PipelineStageTransition[] | undefined>;
    /**
     * The method that the pipeline will use to handle multiple executions. The default mode is SUPERSEDED.
     */
    readonly executionMode: pulumi.Output<enums.codepipeline.PipelineExecutionMode | undefined>;
    /**
     * The name of the pipeline.
     */
    readonly name: pulumi.Output<string | undefined>;
    /**
     * CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications.
     */
    readonly pipelineType: pulumi.Output<enums.codepipeline.PipelineType | undefined>;
    /**
     * Indicates whether to rerun the CodePipeline pipeline after you update it.
     */
    readonly restartExecutionOnUpdate: pulumi.Output<boolean | undefined>;
    /**
     * The Amazon Resource Name (ARN) for CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn
     */
    readonly roleArn: pulumi.Output<string>;
    /**
     * Represents information about a stage and its definition.
     */
    readonly stages: pulumi.Output<outputs.codepipeline.PipelineStageDeclaration[]>;
    /**
     * Specifies the tags applied to the pipeline.
     */
    readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
    /**
     * The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.
     */
    readonly triggers: pulumi.Output<outputs.codepipeline.PipelineTriggerDeclaration[] | undefined>;
    /**
     * A list that defines the pipeline variables for a pipeline resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9@\-_]+.
     */
    readonly variables: pulumi.Output<outputs.codepipeline.PipelineVariableDeclaration[] | undefined>;
    /**
     * The version of the pipeline.
     */
    readonly version: pulumi.Output<string>;
    /**
     * Create a Pipeline resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: PipelineArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a Pipeline resource.
 */
export interface PipelineArgs {
    /**
     * The S3 bucket where artifacts for the pipeline are stored.
     */
    artifactStore?: pulumi.Input<inputs.codepipeline.PipelineArtifactStoreArgs>;
    /**
     * A mapping of artifactStore objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.
     */
    artifactStores?: pulumi.Input<pulumi.Input<inputs.codepipeline.PipelineArtifactStoreMapArgs>[]>;
    /**
     * Represents the input of a DisableStageTransition action.
     */
    disableInboundStageTransitions?: pulumi.Input<pulumi.Input<inputs.codepipeline.PipelineStageTransitionArgs>[]>;
    /**
     * The method that the pipeline will use to handle multiple executions. The default mode is SUPERSEDED.
     */
    executionMode?: pulumi.Input<enums.codepipeline.PipelineExecutionMode>;
    /**
     * The name of the pipeline.
     */
    name?: pulumi.Input<string>;
    /**
     * CodePipeline provides the following pipeline types, which differ in characteristics and price, so that you can tailor your pipeline features and cost to the needs of your applications.
     */
    pipelineType?: pulumi.Input<enums.codepipeline.PipelineType>;
    /**
     * Indicates whether to rerun the CodePipeline pipeline after you update it.
     */
    restartExecutionOnUpdate?: pulumi.Input<boolean>;
    /**
     * The Amazon Resource Name (ARN) for CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn
     */
    roleArn: pulumi.Input<string>;
    /**
     * Represents information about a stage and its definition.
     */
    stages: pulumi.Input<pulumi.Input<inputs.codepipeline.PipelineStageDeclarationArgs>[]>;
    /**
     * Specifies the tags applied to the pipeline.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
    /**
     * The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline.
     */
    triggers?: pulumi.Input<pulumi.Input<inputs.codepipeline.PipelineTriggerDeclarationArgs>[]>;
    /**
     * A list that defines the pipeline variables for a pipeline resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9@\-_]+.
     */
    variables?: pulumi.Input<pulumi.Input<inputs.codepipeline.PipelineVariableDeclarationArgs>[]>;
}
