import { n as ResourceBody, r as TerraformContext, t as Resource } from "./terraform-BgQMhrcm.mjs"; import { TerraformPluginContext, TerraformPluginOptions, TerraformPluginResolvedConfig, TerraformPluginUserConfig } from "./types/plugin.mjs"; import "./types/index.mjs"; import { MaybePromise } from "@stryke/types/base"; import { Plugin, PluginContext } from "powerlines"; //#region src/index.d.ts declare module "powerlines" { interface Config { terraform?: TerraformPluginOptions; } interface BasePlugin { terraform?: { /** * Run the Terraform deployment to create or update infrastructure resources defined in the Terraform program. This hook is executed after the main build process, allowing you to manage your infrastructure as code using Terraform directly from your Powerlines plugin. * * @remarks * This hook will execute the Terraform program defined in the `config` hook, which should be used to define the infrastructure resources. The Terraform program will be executed sequentially, allowing you to define resources in multiple hooks if needed. The resources defined in the Terraform program will be passed to the next hook invocation, allowing you to manage dependencies between resources defined in different hooks. * * @param this - The plugin context. */ deploy?: (this: TContext) => MaybePromise; }; } } /** * A package containing a Powerlines plugin to configure infrastructure and deploy a project using Terraform IaC. * * @see https://www.terraform.io * * @param options - The Terraform plugin user configuration options. * @returns A Powerlines plugin to configure infrastructure and deploy a project using Terraform. */ declare const plugin: (options?: TerraformPluginOptions) => Plugin[]; //#endregion export { type Resource, type ResourceBody, type TerraformContext, type TerraformPluginContext, type TerraformPluginOptions, type TerraformPluginResolvedConfig, type TerraformPluginUserConfig, plugin }; //# sourceMappingURL=index.d.mts.map