import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface LvmThinpoolStorageClassConfig extends cdktf.TerraformMetaArguments {
    /**
    * The content types that can be stored on this storage class.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/lvm_thinpool_storage_class#content_types LvmThinpoolStorageClass#content_types}
    */
    readonly contentTypes?: string[];
    /**
    * The identifier of the storage class.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/lvm_thinpool_storage_class#id LvmThinpoolStorageClass#id}
    *
    * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
    * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
    */
    readonly id: string;
    /**
    * Nodes that implement this storage class.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/lvm_thinpool_storage_class#nodes LvmThinpoolStorageClass#nodes}
    */
    readonly nodes?: string[];
    /**
    * The LVM thinpool that should be implemented by each node.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/lvm_thinpool_storage_class#thinpool LvmThinpoolStorageClass#thinpool}
    */
    readonly thinpool: string;
    /**
    * The associated volume group.
    *
    * Docs at Terraform Registry: {@link https://www.terraform.io/docs/providers/proxmox/r/lvm_thinpool_storage_class#volume_group LvmThinpoolStorageClass#volume_group}
    */
    readonly volumeGroup: string;
}
/**
* Represents a {@link https://www.terraform.io/docs/providers/proxmox/r/lvm_thinpool_storage_class proxmox_lvm_thinpool_storage_class}
*/
export declare class LvmThinpoolStorageClass extends cdktf.TerraformResource {
    static readonly tfResourceType = "proxmox_lvm_thinpool_storage_class";
    /**
    * Create a new {@link https://www.terraform.io/docs/providers/proxmox/r/lvm_thinpool_storage_class proxmox_lvm_thinpool_storage_class} 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 LvmThinpoolStorageClassConfig
    */
    constructor(scope: Construct, id: string, config: LvmThinpoolStorageClassConfig);
    private _contentTypes?;
    get contentTypes(): string[];
    set contentTypes(value: string[]);
    resetContentTypes(): void;
    get contentTypesInput(): string[] | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    get idInput(): string | undefined;
    private _nodes?;
    get nodes(): string[];
    set nodes(value: string[]);
    resetNodes(): void;
    get nodesInput(): string[] | undefined;
    private _thinpool?;
    get thinpool(): string;
    set thinpool(value: string);
    get thinpoolInput(): string | undefined;
    private _volumeGroup?;
    get volumeGroup(): string;
    set volumeGroup(value: string);
    get volumeGroupInput(): string | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
}
