import * as pulumi from "@pulumi/pulumi";
import * as outputs from "./types/output";
/**
 * `spacelift.Stack` combines source code and configuration to create a runtime environment where resources are managed. In this way it's similar to a stack in AWS CloudFormation, or a project on generic CI/CD platforms.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as spacelift from "@pulumi/spacelift";
 *
 * const k8s-core = spacelift.getStack({
 *     stackId: "k8s-core",
 * });
 * ```
 */
export declare function getStack(args: GetStackArgs, opts?: pulumi.InvokeOptions): Promise<GetStackResult>;
/**
 * A collection of arguments for invoking getStack.
 */
export interface GetStackArgs {
    /**
     * Project globs is an optional list of paths to track changes of in addition to the project root.
     */
    additionalProjectGlobs?: string[];
    /**
     * List of after-apply scripts
     */
    afterApplies?: string[];
    /**
     * List of after-destroy scripts
     */
    afterDestroys?: string[];
    /**
     * List of after-init scripts
     */
    afterInits?: string[];
    /**
     * List of after-perform scripts
     */
    afterPerforms?: string[];
    /**
     * List of after-plan scripts
     */
    afterPlans?: string[];
    /**
     * List of after-run scripts
     */
    afterRuns?: string[];
    /**
     * List of before-apply scripts
     */
    beforeApplies?: string[];
    /**
     * List of before-destroy scripts
     */
    beforeDestroys?: string[];
    /**
     * List of before-init scripts
     */
    beforeInits?: string[];
    /**
     * List of before-perform scripts
     */
    beforePerforms?: string[];
    /**
     * List of before-plan scripts
     */
    beforePlans?: string[];
    /**
     * ID (slug) of the stack
     */
    stackId: string;
}
/**
 * A collection of values returned by getStack.
 */
export interface GetStackResult {
    /**
     * Project globs is an optional list of paths to track changes of in addition to the project root.
     */
    readonly additionalProjectGlobs?: string[];
    /**
     * indicates whether this stack can administer others
     */
    readonly administrative: boolean;
    /**
     * List of after-apply scripts
     */
    readonly afterApplies: string[];
    /**
     * List of after-destroy scripts
     */
    readonly afterDestroys: string[];
    /**
     * List of after-init scripts
     */
    readonly afterInits: string[];
    /**
     * List of after-perform scripts
     */
    readonly afterPerforms: string[];
    /**
     * List of after-plan scripts
     */
    readonly afterPlans: string[];
    /**
     * List of after-run scripts
     */
    readonly afterRuns?: string[];
    /**
     * Ansible-specific configuration. Presence means this Stack is an Ansible Stack.
     */
    readonly ansibles: outputs.GetStackAnsible[];
    /**
     * indicates whether changes to this stack can be automatically deployed
     */
    readonly autodeploy: boolean;
    /**
     * indicates whether obsolete proposed changes should automatically be retried
     */
    readonly autoretry: boolean;
    /**
     * AWS IAM assume role policy statement setting up trust relationship
     */
    readonly awsAssumeRolePolicyStatement: string;
    /**
     * Azure DevOps VCS settings
     */
    readonly azureDevops: outputs.GetStackAzureDevop[];
    /**
     * List of before-apply scripts
     */
    readonly beforeApplies: string[];
    /**
     * List of before-destroy scripts
     */
    readonly beforeDestroys: string[];
    /**
     * List of before-init scripts
     */
    readonly beforeInits: string[];
    /**
     * List of before-perform scripts
     */
    readonly beforePerforms: string[];
    /**
     * List of before-plan scripts
     */
    readonly beforePlans: string[];
    /**
     * Bitbucket Cloud VCS settings
     */
    readonly bitbucketClouds: outputs.GetStackBitbucketCloud[];
    /**
     * Bitbucket Datacenter VCS settings
     */
    readonly bitbucketDatacenters: outputs.GetStackBitbucketDatacenter[];
    /**
     * Repository branch to treat as the default 'main' branch
     */
    readonly branch: string;
    /**
     * CloudFormation-specific configuration. Presence means this Stack is a CloudFormation Stack.
     */
    readonly cloudformations: outputs.GetStackCloudformation[];
    /**
     * free-form stack description for users
     */
    readonly description: string;
    /**
     * Indicates whether local preview runs can be triggered on this Stack.
     */
    readonly enableLocalPreview: boolean;
    /**
     * GitHub Enterprise (self-hosted) VCS settings
     */
    readonly githubEnterprises: outputs.GetStackGithubEnterprise[];
    /**
     * GitLab VCS settings
     */
    readonly gitlabs: outputs.GetStackGitlab[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Kubernetes-specific configuration. Presence means this Stack is a Kubernetes Stack.
     */
    readonly kubernetes: outputs.GetStackKubernete[];
    readonly labels: string[];
    /**
     * Determines if Spacelift should manage state for this stack
     */
    readonly manageState: boolean;
    /**
     * Name of the stack - should be unique in one account
     */
    readonly name: string;
    /**
     * Project root is the optional directory relative to the workspace root containing the entrypoint to the Stack.
     */
    readonly projectRoot: string;
    /**
     * Protect this stack from accidental deletion. If set, attempts to delete this stack will fail.
     */
    readonly protectFromDeletion: boolean;
    /**
     * Pulumi-specific configuration. Presence means this Stack is a Pulumi Stack.
     */
    readonly pulumis: outputs.GetStackPulumi[];
    /**
     * One-way VCS integration using a raw Git repository link
     */
    readonly rawGits: outputs.GetStackRawGit[];
    /**
     * Name of the repository, without the owner part
     */
    readonly repository: string;
    /**
     * Name of the Docker image used to process Runs
     */
    readonly runnerImage: string;
    /**
     * Showcase-related attributes
     */
    readonly showcases: outputs.GetStackShowcase[];
    /**
     * ID (slug) of the space the stack is in
     */
    readonly spaceId: string;
    /**
     * ID (slug) of the stack
     */
    readonly stackId: string;
    /**
     * Indicates whether you can access the Stack state file from other stacks or outside of Spacelift.
     */
    readonly terraformExternalStateAccess: boolean;
    readonly terraformSmartSanitization: boolean;
    readonly terraformVersion: string;
    /**
     * Defines the tool that will be used to execute the workflow. This can be one of `OPEN_TOFU`, `TERRAFORM_FOSS` or `CUSTOM`.
     */
    readonly terraformWorkflowTool: string;
    readonly terraformWorkspace: string;
    /**
     * ID of the worker pool to use
     */
    readonly workerPoolId: string;
}
/**
 * `spacelift.Stack` combines source code and configuration to create a runtime environment where resources are managed. In this way it's similar to a stack in AWS CloudFormation, or a project on generic CI/CD platforms.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as spacelift from "@pulumi/spacelift";
 *
 * const k8s-core = spacelift.getStack({
 *     stackId: "k8s-core",
 * });
 * ```
 */
export declare function getStackOutput(args: GetStackOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetStackResult>;
/**
 * A collection of arguments for invoking getStack.
 */
export interface GetStackOutputArgs {
    /**
     * Project globs is an optional list of paths to track changes of in addition to the project root.
     */
    additionalProjectGlobs?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * List of after-apply scripts
     */
    afterApplies?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * List of after-destroy scripts
     */
    afterDestroys?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * List of after-init scripts
     */
    afterInits?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * List of after-perform scripts
     */
    afterPerforms?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * List of after-plan scripts
     */
    afterPlans?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * List of after-run scripts
     */
    afterRuns?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * List of before-apply scripts
     */
    beforeApplies?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * List of before-destroy scripts
     */
    beforeDestroys?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * List of before-init scripts
     */
    beforeInits?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * List of before-perform scripts
     */
    beforePerforms?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * List of before-plan scripts
     */
    beforePlans?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * ID (slug) of the stack
     */
    stackId: pulumi.Input<string>;
}
