import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * The AWS::Amplify::Branch resource creates a new branch within an app.
 */
export declare function getBranch(args: GetBranchArgs, opts?: pulumi.InvokeOptions): Promise<GetBranchResult>;
export interface GetBranchArgs {
    /**
     * ARN for a branch, part of an Amplify App.
     */
    arn: string;
}
export interface GetBranchResult {
    /**
     * ARN for a branch, part of an Amplify App.
     */
    readonly arn?: string;
    /**
     * The backend for a `Branch` of an Amplify app. Use for a backend created from an AWS CloudFormation stack.
     *
     * This field is available to Amplify Gen 2 apps only. When you deploy an application with Amplify Gen 2, you provision the app's backend infrastructure using Typescript code.
     */
    readonly backend?: outputs.amplify.BranchBackend;
    /**
     * The build specification (build spec) for the branch.
     */
    readonly buildSpec?: string;
    /**
     * The Amazon Resource Name (ARN) of the IAM role to assign to a branch of an SSR app. The SSR Compute role allows the Amplify Hosting compute service to securely access specific AWS resources based on the role's permissions. For more information about the SSR Compute role, see [Adding an SSR Compute role](https://docs.aws.amazon.com/amplify/latest/userguide/amplify-SSR-compute-role.html) in the *Amplify User Guide* .
     */
    readonly computeRoleArn?: string;
    /**
     * The description for the branch that is part of an Amplify app.
     */
    readonly description?: string;
    /**
     * Enables auto building for the branch.
     */
    readonly enableAutoBuild?: boolean;
    /**
     * Enables performance mode for the branch.
     *
     * Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out.
     */
    readonly enablePerformanceMode?: boolean;
    /**
     * Specifies whether Amplify Hosting creates a preview for each pull request that is made for this branch. If this property is enabled, Amplify deploys your app to a unique preview URL after each pull request is opened. Development and QA teams can use this preview to test the pull request before it's merged into a production or integration branch.
     *
     * To provide backend support for your preview, Amplify automatically provisions a temporary backend environment that it deletes when the pull request is closed. If you want to specify a dedicated backend environment for your previews, use the `PullRequestEnvironmentName` property.
     *
     * For more information, see [Web Previews](https://docs.aws.amazon.com/amplify/latest/userguide/pr-previews.html) in the *AWS Amplify Hosting User Guide* .
     */
    readonly enablePullRequestPreview?: boolean;
    /**
     * Specifies whether the skew protection feature is enabled for the branch.
     *
     * Deployment skew protection is available to Amplify applications to eliminate version skew issues between client and servers in web applications. When you apply skew protection to a branch, you can ensure that your clients always interact with the correct version of server-side assets, regardless of when a deployment occurs. For more information about skew protection, see [Skew protection for Amplify deployments](https://docs.aws.amazon.com/amplify/latest/userguide/skew-protection.html) in the *Amplify User Guide* .
     */
    readonly enableSkewProtection?: boolean;
    /**
     * The environment variables for the branch.
     */
    readonly environmentVariables?: outputs.amplify.BranchEnvironmentVariable[];
    /**
     * The framework for the branch.
     */
    readonly framework?: string;
    /**
     * If pull request previews are enabled for this branch, you can use this property to specify a dedicated backend environment for your previews. For example, you could specify an environment named `prod` , `test` , or `dev` that you initialized with the Amplify CLI and mapped to this branch.
     *
     * To enable pull request previews, set the `EnablePullRequestPreview` property to `true` .
     *
     * If you don't specify an environment, Amplify Hosting provides backend support for each preview by automatically provisioning a temporary backend environment. Amplify Hosting deletes this environment when the pull request is closed.
     *
     * For more information about creating backend environments, see [Feature Branch Deployments and Team Workflows](https://docs.aws.amazon.com/amplify/latest/userguide/multi-environments.html) in the *AWS Amplify Hosting User Guide* .
     */
    readonly pullRequestEnvironmentName?: string;
    /**
     * Describes the current stage for the branch.
     */
    readonly stage?: enums.amplify.BranchStage;
    /**
     * The tag for the branch.
     */
    readonly tags?: outputs.Tag[];
}
/**
 * The AWS::Amplify::Branch resource creates a new branch within an app.
 */
export declare function getBranchOutput(args: GetBranchOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetBranchResult>;
export interface GetBranchOutputArgs {
    /**
     * ARN for a branch, part of an Amplify App.
     */
    arn: pulumi.Input<string>;
}
