import * as pulumi from "@pulumi/pulumi";
/**
 * Manages a set of stack tags as a single resource via a `tags` map, instead of one `StackTag` per key — useful for YAML programs.
 *
 * Only tags declared in `tags` are managed; tags added out-of-band (CLI, pulumibot, a singular `StackTag` resource) are left alone. Tag values are immutable in Pulumi Cloud, so a value change is implemented as delete-and-recreate.
 *
 * Importing with ID `{organization}/{project}/{stack}/tags` adopts every tag currently on the stack; declare `tags` explicitly after import so subsequent updates match your intent. See the [registry docs](https://www.pulumi.com/registry/packages/pulumiservice/api-docs/stacktags/) for full usage and examples.
 */
export declare class StackTags extends pulumi.CustomResource {
    /**
     * Get an existing StackTags 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): StackTags;
    /**
     * Returns true if the given object is an instance of StackTags.  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 StackTags;
    /**
     * Organization name.
     */
    readonly organization: pulumi.Output<string>;
    /**
     * Project name.
     */
    readonly project: pulumi.Output<string>;
    /**
     * Stack name.
     */
    readonly stack: pulumi.Output<string>;
    /**
     * Map of tag names to values. Each entry represents a stack tag.
     */
    readonly tags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * Create a StackTags 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: StackTagsArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a StackTags resource.
 */
export interface StackTagsArgs {
    /**
     * Organization name.
     */
    organization: pulumi.Input<string>;
    /**
     * Project name.
     */
    project: pulumi.Input<string>;
    /**
     * Stack name.
     */
    stack: pulumi.Input<string>;
    /**
     * Map of tag names to values. Each entry represents a stack tag.
     */
    tags: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    }>;
}
//# sourceMappingURL=stackTags.d.ts.map