import { Inputs, Output } from "../output"; import { ComponentResource, ResourceTransformation } from "../resource"; /** * rootPulumiStackTypeName is the type name that should be used to construct the root component in the tree of Pulumi * resources allocated by a deployment. This must be kept up to date with * `github.com/pulumi/pulumi/sdk/v3/go/common/resource/stack.RootStackType`. */ export declare const rootPulumiStackTypeName = "pulumi:pulumi:Stack"; export declare function getStackResource(): Stack | undefined; /** * runInPulumiStack creates a new Pulumi stack resource and executes the callback inside of it. Any outputs * returned by the callback will be stored as output properties on this resulting Stack object. */ export declare function runInPulumiStack(init: () => Promise): Promise; /** * Stack is the root resource for a Pulumi stack. Before invoking the `init` callback, it registers itself as the root * resource with the Pulumi engine. */ declare class Stack extends ComponentResource { /** * The outputs of this stack, if the `init` callback exited normally. */ readonly outputs: Output; constructor(init: () => Promise); /** * runInit invokes the given init callback with this resource set as the root resource. The return value of init is * used as the stack's output properties. * * @param init The callback to run in the context of this Pulumi stack */ initialize(args: { init: () => Promise; }): Promise; } /** * Add a transformation to all future resources constructed in this Pulumi stack. */ export declare function registerStackTransformation(t: ResourceTransformation): void; export {};