/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface ReleaseConfig extends cdktf.TerraformMetaArguments {
    /**
    * If set, installation process purges chart on fail. The wait flag will be set automatically if atomic is used
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#atomic Release#atomic}
    */
    readonly atomic?: boolean | cdktf.IResolvable;
    /**
    * Chart name to be installed. A path may be used
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#chart Release#chart}
    */
    readonly chart: string;
    /**
    * Allow deletion of new resources created in this upgrade when upgrade fails
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#cleanup_on_fail Release#cleanup_on_fail}
    */
    readonly cleanupOnFail?: boolean | cdktf.IResolvable;
    /**
    * Create the namespace if it does not exist
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#create_namespace Release#create_namespace}
    */
    readonly createNamespace?: boolean | cdktf.IResolvable;
    /**
    * Run helm dependency update before installing the chart
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#dependency_update Release#dependency_update}
    */
    readonly dependencyUpdate?: boolean | cdktf.IResolvable;
    /**
    * Add a custom description
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#description Release#description}
    */
    readonly description?: string;
    /**
    * Use chart development versions, too. Equivalent to version '>0.0.0-0'. If 'version' is set, this is ignored
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#devel Release#devel}
    */
    readonly devel?: boolean | cdktf.IResolvable;
    /**
    * Prevent CRD hooks from running, but run other hooks. See helm install --no-crd-hook
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#disable_crd_hooks Release#disable_crd_hooks}
    */
    readonly disableCrdHooks?: boolean | cdktf.IResolvable;
    /**
    * If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#disable_openapi_validation Release#disable_openapi_validation}
    */
    readonly disableOpenapiValidation?: boolean | cdktf.IResolvable;
    /**
    * Prevent hooks from running
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#disable_webhooks Release#disable_webhooks}
    */
    readonly disableWebhooks?: boolean | cdktf.IResolvable;
    /**
    * Force resource update through delete/recreate if needed.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#force_update Release#force_update}
    */
    readonly forceUpdate?: boolean | cdktf.IResolvable;
    /**
    * Location of public keys used for verification, Used only if 'verify is true'
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#keyring Release#keyring}
    */
    readonly keyring?: string;
    /**
    * Run helm lint when planning
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#lint Release#lint}
    */
    readonly lint?: boolean | cdktf.IResolvable;
    /**
    * Limit the maximum number of revisions saved per release. Use 0 for no limit
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#max_history Release#max_history}
    */
    readonly maxHistory?: number;
    /**
    * Release name. The length must not be longer than 53 characters
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#name Release#name}
    */
    readonly name: string;
    /**
    * Namespace to install the release into
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#namespace Release#namespace}
    */
    readonly namespace?: string;
    /**
    * Pass credentials to all domains
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#pass_credentials Release#pass_credentials}
    */
    readonly passCredentials?: boolean | cdktf.IResolvable;
    /**
    * Postrender command config
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#postrender Release#postrender}
    */
    readonly postrender?: ReleasePostrender;
    /**
    * Perform pods restart during upgrade/rollback
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#recreate_pods Release#recreate_pods}
    */
    readonly recreatePods?: boolean | cdktf.IResolvable;
    /**
    * If set, render subchart notes along with the parent
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#render_subchart_notes Release#render_subchart_notes}
    */
    readonly renderSubchartNotes?: boolean | cdktf.IResolvable;
    /**
    * Re-use the given name, even if that name is already used. This is unsafe in production
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#replace Release#replace}
    */
    readonly replace?: boolean | cdktf.IResolvable;
    /**
    * Repository where to locate the requested chart. If it is a URL, the chart is installed without installing the repository
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#repository Release#repository}
    */
    readonly repository?: string;
    /**
    * The Repositories CA file
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#repository_ca_file Release#repository_ca_file}
    */
    readonly repositoryCaFile?: string;
    /**
    * The repositories cert file
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#repository_cert_file Release#repository_cert_file}
    */
    readonly repositoryCertFile?: string;
    /**
    * The repositories cert key file
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#repository_key_file Release#repository_key_file}
    */
    readonly repositoryKeyFile?: string;
    /**
    * Password for HTTP basic authentication
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#repository_password Release#repository_password}
    */
    readonly repositoryPassword?: string;
    /**
    * Username for HTTP basic authentication
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#repository_username Release#repository_username}
    */
    readonly repositoryUsername?: string;
    /**
    * When upgrading, reset the values to the ones built into the chart
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#reset_values Release#reset_values}
    */
    readonly resetValues?: boolean | cdktf.IResolvable;
    /**
    * When upgrading, reuse the last release's values and merge in any overrides. If 'reset_values' is specified, this is ignored
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#reuse_values Release#reuse_values}
    */
    readonly reuseValues?: boolean | cdktf.IResolvable;
    /**
    * Custom values to be merged with the values
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#set Release#set}
    */
    readonly set?: ReleaseSet[] | cdktf.IResolvable;
    /**
    * Custom sensitive values to be merged with the values
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#set_list Release#set_list}
    */
    readonly setList?: ReleaseSetListStruct[] | cdktf.IResolvable;
    /**
    * Custom sensitive values to be merged with the values
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#set_sensitive Release#set_sensitive}
    */
    readonly setSensitive?: ReleaseSetSensitive[] | cdktf.IResolvable;
    /**
    * Custom values to be merged with the values
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#set_wo Release#set_wo}
    */
    readonly setWo?: ReleaseSetWo[] | cdktf.IResolvable;
    /**
    * The current revision of the write-only "set_wo" attribute. Incrementing this integer value will cause Terraform to update the write-only value.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#set_wo_revision Release#set_wo_revision}
    */
    readonly setWoRevision?: number;
    /**
    * If set, no CRDs will be installed. By default, CRDs are installed if not already present
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#skip_crds Release#skip_crds}
    */
    readonly skipCrds?: boolean | cdktf.IResolvable;
    /**
    * Time in seconds to wait for any individual kubernetes operation
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#timeout Release#timeout}
    */
    readonly timeout?: number;
    /**
    * List of values in raw YAML format to pass to helm
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#values Release#values}
    */
    readonly values?: string[];
    /**
    * Verify the package before installing it.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#verify Release#verify}
    */
    readonly verify?: boolean | cdktf.IResolvable;
    /**
    * Specify the exact chart version to install. If this is not specified, the latest version is installed
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#version Release#version}
    */
    readonly version?: string;
    /**
    * Will wait until all resources are in a ready state before marking the release as successful.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#wait Release#wait}
    */
    readonly wait?: boolean | cdktf.IResolvable;
    /**
    * If wait is enabled, will wait until all Jobs have been completed before marking the release as successful.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#wait_for_jobs Release#wait_for_jobs}
    */
    readonly waitForJobs?: boolean | cdktf.IResolvable;
}
export interface ReleaseMetadata {
}
export declare function releaseMetadataToTerraform(struct?: ReleaseMetadata): any;
export declare function releaseMetadataToHclTerraform(struct?: ReleaseMetadata): any;
export declare class ReleaseMetadataOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): ReleaseMetadata | undefined;
    set internalValue(value: ReleaseMetadata | undefined);
    get appVersion(): string;
    get chart(): string;
    get firstDeployed(): number;
    get lastDeployed(): number;
    get name(): string;
    get namespace(): string;
    get notes(): string;
    get revision(): number;
    get values(): string;
    get version(): string;
}
export interface ReleasePostrender {
    /**
    * An argument to the post-renderer (can specify multiple)
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#args Release#args}
    */
    readonly args?: string[];
    /**
    * The common binary path
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#binary_path Release#binary_path}
    */
    readonly binaryPath: string;
}
export declare function releasePostrenderToTerraform(struct?: ReleasePostrender | cdktf.IResolvable): any;
export declare function releasePostrenderToHclTerraform(struct?: ReleasePostrender | cdktf.IResolvable): any;
export declare class ReleasePostrenderOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): ReleasePostrender | cdktf.IResolvable | undefined;
    set internalValue(value: ReleasePostrender | cdktf.IResolvable | undefined);
    private _args?;
    get args(): string[];
    set args(value: string[]);
    resetArgs(): void;
    get argsInput(): string[] | undefined;
    private _binaryPath?;
    get binaryPath(): string;
    set binaryPath(value: string);
    get binaryPathInput(): string | undefined;
}
export interface ReleaseSet {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#name Release#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#type Release#type}
    */
    readonly type?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#value Release#value}
    */
    readonly value?: string;
}
export declare function releaseSetToTerraform(struct?: ReleaseSet | cdktf.IResolvable): any;
export declare function releaseSetToHclTerraform(struct?: ReleaseSet | cdktf.IResolvable): any;
export declare class ReleaseSetOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): ReleaseSet | cdktf.IResolvable | undefined;
    set internalValue(value: ReleaseSet | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _type?;
    get type(): string;
    set type(value: string);
    resetType(): void;
    get typeInput(): string | undefined;
    private _value?;
    get value(): string;
    set value(value: string);
    resetValue(): void;
    get valueInput(): string | undefined;
}
export declare class ReleaseSetList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: ReleaseSet[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): ReleaseSetOutputReference;
}
export interface ReleaseSetListStruct {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#name Release#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#value Release#value}
    */
    readonly value: string[];
}
export declare function releaseSetListStructToTerraform(struct?: ReleaseSetListStruct | cdktf.IResolvable): any;
export declare function releaseSetListStructToHclTerraform(struct?: ReleaseSetListStruct | cdktf.IResolvable): any;
export declare class ReleaseSetListStructOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): ReleaseSetListStruct | cdktf.IResolvable | undefined;
    set internalValue(value: ReleaseSetListStruct | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _value?;
    get value(): string[];
    set value(value: string[]);
    get valueInput(): string[] | undefined;
}
export declare class ReleaseSetListStructList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: ReleaseSetListStruct[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): ReleaseSetListStructOutputReference;
}
export interface ReleaseSetSensitive {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#name Release#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#type Release#type}
    */
    readonly type?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#value Release#value}
    */
    readonly value: string;
}
export declare function releaseSetSensitiveToTerraform(struct?: ReleaseSetSensitive | cdktf.IResolvable): any;
export declare function releaseSetSensitiveToHclTerraform(struct?: ReleaseSetSensitive | cdktf.IResolvable): any;
export declare class ReleaseSetSensitiveOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): ReleaseSetSensitive | cdktf.IResolvable | undefined;
    set internalValue(value: ReleaseSetSensitive | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _type?;
    get type(): string;
    set type(value: string);
    resetType(): void;
    get typeInput(): string | undefined;
    private _value?;
    get value(): string;
    set value(value: string);
    get valueInput(): string | undefined;
}
export declare class ReleaseSetSensitiveList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: ReleaseSetSensitive[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): ReleaseSetSensitiveOutputReference;
}
export interface ReleaseSetWo {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#name Release#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#type Release#type}
    */
    readonly type?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#value Release#value}
    */
    readonly value: string;
}
export declare function releaseSetWoToTerraform(struct?: ReleaseSetWo | cdktf.IResolvable): any;
export declare function releaseSetWoToHclTerraform(struct?: ReleaseSetWo | cdktf.IResolvable): any;
export declare class ReleaseSetWoOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param complexObjectIndex the index of this item in the list
    * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
    get internalValue(): ReleaseSetWo | cdktf.IResolvable | undefined;
    set internalValue(value: ReleaseSetWo | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _type?;
    get type(): string;
    set type(value: string);
    resetType(): void;
    get typeInput(): string | undefined;
    private _value?;
    get value(): string;
    set value(value: string);
    get valueInput(): string | undefined;
}
export declare class ReleaseSetWoList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: ReleaseSetWo[] | cdktf.IResolvable;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
    /**
    * @param index the index of the item to return
    */
    get(index: number): ReleaseSetWoOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release helm_release}
*/
export declare class Release extends cdktf.TerraformResource {
    static readonly tfResourceType = "helm_release";
    /**
    * Generates CDKTF code for importing a Release resource upon running "cdktf plan <stack-name>"
    * @param scope The scope in which to define this construct
    * @param importToId The construct id used in the generated config for the Release to import
    * @param importFromId The id of the existing Release that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the Release to import is found
    */
    static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
    /**
    * Create a new {@link https://registry.terraform.io/providers/hashicorp/helm/3.0.2/docs/resources/release helm_release} Resource
    *
    * @param scope The scope in which to define this construct
    * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
    * @param options ReleaseConfig
    */
    constructor(scope: Construct, id: string, config: ReleaseConfig);
    private _atomic?;
    get atomic(): boolean | cdktf.IResolvable;
    set atomic(value: boolean | cdktf.IResolvable);
    resetAtomic(): void;
    get atomicInput(): boolean | cdktf.IResolvable | undefined;
    private _chart?;
    get chart(): string;
    set chart(value: string);
    get chartInput(): string | undefined;
    private _cleanupOnFail?;
    get cleanupOnFail(): boolean | cdktf.IResolvable;
    set cleanupOnFail(value: boolean | cdktf.IResolvable);
    resetCleanupOnFail(): void;
    get cleanupOnFailInput(): boolean | cdktf.IResolvable | undefined;
    private _createNamespace?;
    get createNamespace(): boolean | cdktf.IResolvable;
    set createNamespace(value: boolean | cdktf.IResolvable);
    resetCreateNamespace(): void;
    get createNamespaceInput(): boolean | cdktf.IResolvable | undefined;
    private _dependencyUpdate?;
    get dependencyUpdate(): boolean | cdktf.IResolvable;
    set dependencyUpdate(value: boolean | cdktf.IResolvable);
    resetDependencyUpdate(): void;
    get dependencyUpdateInput(): boolean | cdktf.IResolvable | undefined;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _devel?;
    get devel(): boolean | cdktf.IResolvable;
    set devel(value: boolean | cdktf.IResolvable);
    resetDevel(): void;
    get develInput(): boolean | cdktf.IResolvable | undefined;
    private _disableCrdHooks?;
    get disableCrdHooks(): boolean | cdktf.IResolvable;
    set disableCrdHooks(value: boolean | cdktf.IResolvable);
    resetDisableCrdHooks(): void;
    get disableCrdHooksInput(): boolean | cdktf.IResolvable | undefined;
    private _disableOpenapiValidation?;
    get disableOpenapiValidation(): boolean | cdktf.IResolvable;
    set disableOpenapiValidation(value: boolean | cdktf.IResolvable);
    resetDisableOpenapiValidation(): void;
    get disableOpenapiValidationInput(): boolean | cdktf.IResolvable | undefined;
    private _disableWebhooks?;
    get disableWebhooks(): boolean | cdktf.IResolvable;
    set disableWebhooks(value: boolean | cdktf.IResolvable);
    resetDisableWebhooks(): void;
    get disableWebhooksInput(): boolean | cdktf.IResolvable | undefined;
    private _forceUpdate?;
    get forceUpdate(): boolean | cdktf.IResolvable;
    set forceUpdate(value: boolean | cdktf.IResolvable);
    resetForceUpdate(): void;
    get forceUpdateInput(): boolean | cdktf.IResolvable | undefined;
    get id(): string;
    private _keyring?;
    get keyring(): string;
    set keyring(value: string);
    resetKeyring(): void;
    get keyringInput(): string | undefined;
    private _lint?;
    get lint(): boolean | cdktf.IResolvable;
    set lint(value: boolean | cdktf.IResolvable);
    resetLint(): void;
    get lintInput(): boolean | cdktf.IResolvable | undefined;
    get manifest(): string;
    private _maxHistory?;
    get maxHistory(): number;
    set maxHistory(value: number);
    resetMaxHistory(): void;
    get maxHistoryInput(): number | undefined;
    private _metadata;
    get metadata(): ReleaseMetadataOutputReference;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _namespace?;
    get namespace(): string;
    set namespace(value: string);
    resetNamespace(): void;
    get namespaceInput(): string | undefined;
    private _passCredentials?;
    get passCredentials(): boolean | cdktf.IResolvable;
    set passCredentials(value: boolean | cdktf.IResolvable);
    resetPassCredentials(): void;
    get passCredentialsInput(): boolean | cdktf.IResolvable | undefined;
    private _postrender;
    get postrender(): ReleasePostrenderOutputReference;
    putPostrender(value: ReleasePostrender): void;
    resetPostrender(): void;
    get postrenderInput(): cdktf.IResolvable | ReleasePostrender | undefined;
    private _recreatePods?;
    get recreatePods(): boolean | cdktf.IResolvable;
    set recreatePods(value: boolean | cdktf.IResolvable);
    resetRecreatePods(): void;
    get recreatePodsInput(): boolean | cdktf.IResolvable | undefined;
    private _renderSubchartNotes?;
    get renderSubchartNotes(): boolean | cdktf.IResolvable;
    set renderSubchartNotes(value: boolean | cdktf.IResolvable);
    resetRenderSubchartNotes(): void;
    get renderSubchartNotesInput(): boolean | cdktf.IResolvable | undefined;
    private _replace?;
    get replace(): boolean | cdktf.IResolvable;
    set replace(value: boolean | cdktf.IResolvable);
    resetReplace(): void;
    get replaceInput(): boolean | cdktf.IResolvable | undefined;
    private _repository?;
    get repository(): string;
    set repository(value: string);
    resetRepository(): void;
    get repositoryInput(): string | undefined;
    private _repositoryCaFile?;
    get repositoryCaFile(): string;
    set repositoryCaFile(value: string);
    resetRepositoryCaFile(): void;
    get repositoryCaFileInput(): string | undefined;
    private _repositoryCertFile?;
    get repositoryCertFile(): string;
    set repositoryCertFile(value: string);
    resetRepositoryCertFile(): void;
    get repositoryCertFileInput(): string | undefined;
    private _repositoryKeyFile?;
    get repositoryKeyFile(): string;
    set repositoryKeyFile(value: string);
    resetRepositoryKeyFile(): void;
    get repositoryKeyFileInput(): string | undefined;
    private _repositoryPassword?;
    get repositoryPassword(): string;
    set repositoryPassword(value: string);
    resetRepositoryPassword(): void;
    get repositoryPasswordInput(): string | undefined;
    private _repositoryUsername?;
    get repositoryUsername(): string;
    set repositoryUsername(value: string);
    resetRepositoryUsername(): void;
    get repositoryUsernameInput(): string | undefined;
    private _resetValues?;
    get resetValues(): boolean | cdktf.IResolvable;
    set resetValues(value: boolean | cdktf.IResolvable);
    resetResetValues(): void;
    get resetValuesInput(): boolean | cdktf.IResolvable | undefined;
    private _reuseValues?;
    get reuseValues(): boolean | cdktf.IResolvable;
    set reuseValues(value: boolean | cdktf.IResolvable);
    resetReuseValues(): void;
    get reuseValuesInput(): boolean | cdktf.IResolvable | undefined;
    private _set;
    get set(): ReleaseSetList;
    putSet(value: ReleaseSet[] | cdktf.IResolvable): void;
    resetSet(): void;
    get setInput(): cdktf.IResolvable | ReleaseSet[] | undefined;
    private _setList;
    get setList(): ReleaseSetListStructList;
    putSetList(value: ReleaseSetListStruct[] | cdktf.IResolvable): void;
    resetSetList(): void;
    get setListInput(): cdktf.IResolvable | ReleaseSetListStruct[] | undefined;
    private _setSensitive;
    get setSensitive(): ReleaseSetSensitiveList;
    putSetSensitive(value: ReleaseSetSensitive[] | cdktf.IResolvable): void;
    resetSetSensitive(): void;
    get setSensitiveInput(): cdktf.IResolvable | ReleaseSetSensitive[] | undefined;
    private _setWo;
    get setWo(): ReleaseSetWoList;
    putSetWo(value: ReleaseSetWo[] | cdktf.IResolvable): void;
    resetSetWo(): void;
    get setWoInput(): cdktf.IResolvable | ReleaseSetWo[] | undefined;
    private _setWoRevision?;
    get setWoRevision(): number;
    set setWoRevision(value: number);
    resetSetWoRevision(): void;
    get setWoRevisionInput(): number | undefined;
    private _skipCrds?;
    get skipCrds(): boolean | cdktf.IResolvable;
    set skipCrds(value: boolean | cdktf.IResolvable);
    resetSkipCrds(): void;
    get skipCrdsInput(): boolean | cdktf.IResolvable | undefined;
    get status(): string;
    private _timeout?;
    get timeout(): number;
    set timeout(value: number);
    resetTimeout(): void;
    get timeoutInput(): number | undefined;
    private _values?;
    get values(): string[];
    set values(value: string[]);
    resetTfValues(): void;
    get valuesInput(): string[] | undefined;
    private _verify?;
    get verify(): boolean | cdktf.IResolvable;
    set verify(value: boolean | cdktf.IResolvable);
    resetVerify(): void;
    get verifyInput(): boolean | cdktf.IResolvable | undefined;
    private _version?;
    get version(): string;
    set version(value: string);
    resetVersion(): void;
    get versionInput(): string | undefined;
    private _wait?;
    get wait(): boolean | cdktf.IResolvable;
    set wait(value: boolean | cdktf.IResolvable);
    resetWait(): void;
    get waitInput(): boolean | cdktf.IResolvable | undefined;
    private _waitForJobs?;
    get waitForJobs(): boolean | cdktf.IResolvable;
    set waitForJobs(value: boolean | cdktf.IResolvable);
    resetWaitForJobs(): void;
    get waitForJobsInput(): boolean | cdktf.IResolvable | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
