/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface GkeonpremVmwareAdminClusterConfig extends cdktf.TerraformMetaArguments {
    /**
    * Annotations on the VMware Admin Cluster.
    * This field has the same restrictions as Kubernetes annotations.
    * The total size of all keys and values combined is limited to 256k.
    * Key can have 2 segments: prefix (optional) and name (required),
    * separated by a slash (/).
    * Prefix must be a DNS subdomain.
    * Name must be 63 characters or less, begin and end with alphanumerics,
    * with dashes (-), underscores (_), dots (.), and alphanumerics between.
    *
    *
    * **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
    * Please refer to the field 'effective_annotations' for all of the annotations present on the resource.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#annotations GkeonpremVmwareAdminCluster#annotations}
    */
    readonly annotations?: {
        [key: string]: string;
    };
    /**
    * The bootstrap cluster this VMware admin cluster belongs to.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#bootstrap_cluster_membership GkeonpremVmwareAdminCluster#bootstrap_cluster_membership}
    */
    readonly bootstrapClusterMembership?: string;
    /**
    * A human readable description of this VMware admin cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#description GkeonpremVmwareAdminCluster#description}
    */
    readonly description?: string;
    /**
    * If set, the advanced cluster feature is enabled.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#enable_advanced_cluster GkeonpremVmwareAdminCluster#enable_advanced_cluster}
    */
    readonly enableAdvancedCluster?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#id GkeonpremVmwareAdminCluster#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;
    /**
    * The OS image type for the VMware admin cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#image_type GkeonpremVmwareAdminCluster#image_type}
    */
    readonly imageType?: string;
    /**
    * The location of the resource.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#location GkeonpremVmwareAdminCluster#location}
    */
    readonly location: string;
    /**
    * The VMware admin cluster resource name.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#name GkeonpremVmwareAdminCluster#name}
    */
    readonly name: string;
    /**
    * The Anthos clusters on the VMware version for the admin cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#on_prem_version GkeonpremVmwareAdminCluster#on_prem_version}
    */
    readonly onPremVersion?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#project GkeonpremVmwareAdminCluster#project}
    */
    readonly project?: string;
    /**
    * addon_node block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#addon_node GkeonpremVmwareAdminCluster#addon_node}
    */
    readonly addonNode?: GkeonpremVmwareAdminClusterAddonNode;
    /**
    * anti_affinity_groups block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#anti_affinity_groups GkeonpremVmwareAdminCluster#anti_affinity_groups}
    */
    readonly antiAffinityGroups?: GkeonpremVmwareAdminClusterAntiAffinityGroups;
    /**
    * authorization block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#authorization GkeonpremVmwareAdminCluster#authorization}
    */
    readonly authorization?: GkeonpremVmwareAdminClusterAuthorization;
    /**
    * auto_repair_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#auto_repair_config GkeonpremVmwareAdminCluster#auto_repair_config}
    */
    readonly autoRepairConfig?: GkeonpremVmwareAdminClusterAutoRepairConfig;
    /**
    * control_plane_node block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#control_plane_node GkeonpremVmwareAdminCluster#control_plane_node}
    */
    readonly controlPlaneNode?: GkeonpremVmwareAdminClusterControlPlaneNode;
    /**
    * load_balancer block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#load_balancer GkeonpremVmwareAdminCluster#load_balancer}
    */
    readonly loadBalancer?: GkeonpremVmwareAdminClusterLoadBalancer;
    /**
    * network_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#network_config GkeonpremVmwareAdminCluster#network_config}
    */
    readonly networkConfig: GkeonpremVmwareAdminClusterNetworkConfig;
    /**
    * platform_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#platform_config GkeonpremVmwareAdminCluster#platform_config}
    */
    readonly platformConfig?: GkeonpremVmwareAdminClusterPlatformConfig;
    /**
    * private_registry_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#private_registry_config GkeonpremVmwareAdminCluster#private_registry_config}
    */
    readonly privateRegistryConfig?: GkeonpremVmwareAdminClusterPrivateRegistryConfig;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#timeouts GkeonpremVmwareAdminCluster#timeouts}
    */
    readonly timeouts?: GkeonpremVmwareAdminClusterTimeouts;
    /**
    * vcenter block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#vcenter GkeonpremVmwareAdminCluster#vcenter}
    */
    readonly vcenter?: GkeonpremVmwareAdminClusterVcenter;
}
export interface GkeonpremVmwareAdminClusterFleet {
}
export declare function gkeonpremVmwareAdminClusterFleetToTerraform(struct?: GkeonpremVmwareAdminClusterFleet): any;
export declare function gkeonpremVmwareAdminClusterFleetToHclTerraform(struct?: GkeonpremVmwareAdminClusterFleet): any;
export declare class GkeonpremVmwareAdminClusterFleetOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @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(): GkeonpremVmwareAdminClusterFleet | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterFleet | undefined);
    get membership(): string;
}
export declare class GkeonpremVmwareAdminClusterFleetList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    /**
    * @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): GkeonpremVmwareAdminClusterFleetOutputReference;
}
export interface GkeonpremVmwareAdminClusterStatusConditions {
}
export declare function gkeonpremVmwareAdminClusterStatusConditionsToTerraform(struct?: GkeonpremVmwareAdminClusterStatusConditions): any;
export declare function gkeonpremVmwareAdminClusterStatusConditionsToHclTerraform(struct?: GkeonpremVmwareAdminClusterStatusConditions): any;
export declare class GkeonpremVmwareAdminClusterStatusConditionsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @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(): GkeonpremVmwareAdminClusterStatusConditions | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterStatusConditions | undefined);
    get lastTransitionTime(): string;
    get message(): string;
    get reason(): string;
    get state(): string;
    get type(): string;
}
export declare class GkeonpremVmwareAdminClusterStatusConditionsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    /**
    * @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): GkeonpremVmwareAdminClusterStatusConditionsOutputReference;
}
export interface GkeonpremVmwareAdminClusterStatus {
}
export declare function gkeonpremVmwareAdminClusterStatusToTerraform(struct?: GkeonpremVmwareAdminClusterStatus): any;
export declare function gkeonpremVmwareAdminClusterStatusToHclTerraform(struct?: GkeonpremVmwareAdminClusterStatus): any;
export declare class GkeonpremVmwareAdminClusterStatusOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @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(): GkeonpremVmwareAdminClusterStatus | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterStatus | undefined);
    private _conditions;
    get conditions(): GkeonpremVmwareAdminClusterStatusConditionsList;
    get errorMessage(): string;
}
export declare class GkeonpremVmwareAdminClusterStatusList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    /**
    * @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): GkeonpremVmwareAdminClusterStatusOutputReference;
}
export interface GkeonpremVmwareAdminClusterAddonNodeAutoResizeConfig {
    /**
    * Whether to enable controle plane node auto resizing.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#enabled GkeonpremVmwareAdminCluster#enabled}
    */
    readonly enabled: boolean | cdktf.IResolvable;
}
export declare function gkeonpremVmwareAdminClusterAddonNodeAutoResizeConfigToTerraform(struct?: GkeonpremVmwareAdminClusterAddonNodeAutoResizeConfigOutputReference | GkeonpremVmwareAdminClusterAddonNodeAutoResizeConfig): any;
export declare function gkeonpremVmwareAdminClusterAddonNodeAutoResizeConfigToHclTerraform(struct?: GkeonpremVmwareAdminClusterAddonNodeAutoResizeConfigOutputReference | GkeonpremVmwareAdminClusterAddonNodeAutoResizeConfig): any;
export declare class GkeonpremVmwareAdminClusterAddonNodeAutoResizeConfigOutputReference 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(): GkeonpremVmwareAdminClusterAddonNodeAutoResizeConfig | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterAddonNodeAutoResizeConfig | undefined);
    private _enabled?;
    get enabled(): boolean | cdktf.IResolvable;
    set enabled(value: boolean | cdktf.IResolvable);
    get enabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface GkeonpremVmwareAdminClusterAddonNode {
    /**
    * auto_resize_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#auto_resize_config GkeonpremVmwareAdminCluster#auto_resize_config}
    */
    readonly autoResizeConfig?: GkeonpremVmwareAdminClusterAddonNodeAutoResizeConfig;
}
export declare function gkeonpremVmwareAdminClusterAddonNodeToTerraform(struct?: GkeonpremVmwareAdminClusterAddonNodeOutputReference | GkeonpremVmwareAdminClusterAddonNode): any;
export declare function gkeonpremVmwareAdminClusterAddonNodeToHclTerraform(struct?: GkeonpremVmwareAdminClusterAddonNodeOutputReference | GkeonpremVmwareAdminClusterAddonNode): any;
export declare class GkeonpremVmwareAdminClusterAddonNodeOutputReference 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(): GkeonpremVmwareAdminClusterAddonNode | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterAddonNode | undefined);
    private _autoResizeConfig;
    get autoResizeConfig(): GkeonpremVmwareAdminClusterAddonNodeAutoResizeConfigOutputReference;
    putAutoResizeConfig(value: GkeonpremVmwareAdminClusterAddonNodeAutoResizeConfig): void;
    resetAutoResizeConfig(): void;
    get autoResizeConfigInput(): GkeonpremVmwareAdminClusterAddonNodeAutoResizeConfig | undefined;
}
export interface GkeonpremVmwareAdminClusterAntiAffinityGroups {
    /**
    * Spread nodes across at least three physical hosts (requires at least three
    * hosts).
    * Enabled by default.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#aag_config_disabled GkeonpremVmwareAdminCluster#aag_config_disabled}
    */
    readonly aagConfigDisabled: boolean | cdktf.IResolvable;
}
export declare function gkeonpremVmwareAdminClusterAntiAffinityGroupsToTerraform(struct?: GkeonpremVmwareAdminClusterAntiAffinityGroupsOutputReference | GkeonpremVmwareAdminClusterAntiAffinityGroups): any;
export declare function gkeonpremVmwareAdminClusterAntiAffinityGroupsToHclTerraform(struct?: GkeonpremVmwareAdminClusterAntiAffinityGroupsOutputReference | GkeonpremVmwareAdminClusterAntiAffinityGroups): any;
export declare class GkeonpremVmwareAdminClusterAntiAffinityGroupsOutputReference 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(): GkeonpremVmwareAdminClusterAntiAffinityGroups | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterAntiAffinityGroups | undefined);
    private _aagConfigDisabled?;
    get aagConfigDisabled(): boolean | cdktf.IResolvable;
    set aagConfigDisabled(value: boolean | cdktf.IResolvable);
    get aagConfigDisabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface GkeonpremVmwareAdminClusterAuthorizationViewerUsers {
    /**
    * The name of the user, e.g. 'my-gcp-id@gmail.com'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#username GkeonpremVmwareAdminCluster#username}
    */
    readonly username: string;
}
export declare function gkeonpremVmwareAdminClusterAuthorizationViewerUsersToTerraform(struct?: GkeonpremVmwareAdminClusterAuthorizationViewerUsers | cdktf.IResolvable): any;
export declare function gkeonpremVmwareAdminClusterAuthorizationViewerUsersToHclTerraform(struct?: GkeonpremVmwareAdminClusterAuthorizationViewerUsers | cdktf.IResolvable): any;
export declare class GkeonpremVmwareAdminClusterAuthorizationViewerUsersOutputReference 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(): GkeonpremVmwareAdminClusterAuthorizationViewerUsers | cdktf.IResolvable | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterAuthorizationViewerUsers | cdktf.IResolvable | undefined);
    private _username?;
    get username(): string;
    set username(value: string);
    get usernameInput(): string | undefined;
}
export declare class GkeonpremVmwareAdminClusterAuthorizationViewerUsersList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: GkeonpremVmwareAdminClusterAuthorizationViewerUsers[] | 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): GkeonpremVmwareAdminClusterAuthorizationViewerUsersOutputReference;
}
export interface GkeonpremVmwareAdminClusterAuthorization {
    /**
    * viewer_users block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#viewer_users GkeonpremVmwareAdminCluster#viewer_users}
    */
    readonly viewerUsers?: GkeonpremVmwareAdminClusterAuthorizationViewerUsers[] | cdktf.IResolvable;
}
export declare function gkeonpremVmwareAdminClusterAuthorizationToTerraform(struct?: GkeonpremVmwareAdminClusterAuthorizationOutputReference | GkeonpremVmwareAdminClusterAuthorization): any;
export declare function gkeonpremVmwareAdminClusterAuthorizationToHclTerraform(struct?: GkeonpremVmwareAdminClusterAuthorizationOutputReference | GkeonpremVmwareAdminClusterAuthorization): any;
export declare class GkeonpremVmwareAdminClusterAuthorizationOutputReference 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(): GkeonpremVmwareAdminClusterAuthorization | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterAuthorization | undefined);
    private _viewerUsers;
    get viewerUsers(): GkeonpremVmwareAdminClusterAuthorizationViewerUsersList;
    putViewerUsers(value: GkeonpremVmwareAdminClusterAuthorizationViewerUsers[] | cdktf.IResolvable): void;
    resetViewerUsers(): void;
    get viewerUsersInput(): cdktf.IResolvable | GkeonpremVmwareAdminClusterAuthorizationViewerUsers[] | undefined;
}
export interface GkeonpremVmwareAdminClusterAutoRepairConfig {
    /**
    * Whether auto repair is enabled.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#enabled GkeonpremVmwareAdminCluster#enabled}
    */
    readonly enabled: boolean | cdktf.IResolvable;
}
export declare function gkeonpremVmwareAdminClusterAutoRepairConfigToTerraform(struct?: GkeonpremVmwareAdminClusterAutoRepairConfigOutputReference | GkeonpremVmwareAdminClusterAutoRepairConfig): any;
export declare function gkeonpremVmwareAdminClusterAutoRepairConfigToHclTerraform(struct?: GkeonpremVmwareAdminClusterAutoRepairConfigOutputReference | GkeonpremVmwareAdminClusterAutoRepairConfig): any;
export declare class GkeonpremVmwareAdminClusterAutoRepairConfigOutputReference 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(): GkeonpremVmwareAdminClusterAutoRepairConfig | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterAutoRepairConfig | undefined);
    private _enabled?;
    get enabled(): boolean | cdktf.IResolvable;
    set enabled(value: boolean | cdktf.IResolvable);
    get enabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface GkeonpremVmwareAdminClusterControlPlaneNode {
    /**
    * The number of vCPUs for the control-plane node of the admin cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#cpus GkeonpremVmwareAdminCluster#cpus}
    */
    readonly cpus?: number;
    /**
    * The number of mebibytes of memory for the control-plane node of the admin cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#memory GkeonpremVmwareAdminCluster#memory}
    */
    readonly memory?: number;
    /**
    * The number of control plane nodes for this VMware admin cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#replicas GkeonpremVmwareAdminCluster#replicas}
    */
    readonly replicas?: number;
}
export declare function gkeonpremVmwareAdminClusterControlPlaneNodeToTerraform(struct?: GkeonpremVmwareAdminClusterControlPlaneNodeOutputReference | GkeonpremVmwareAdminClusterControlPlaneNode): any;
export declare function gkeonpremVmwareAdminClusterControlPlaneNodeToHclTerraform(struct?: GkeonpremVmwareAdminClusterControlPlaneNodeOutputReference | GkeonpremVmwareAdminClusterControlPlaneNode): any;
export declare class GkeonpremVmwareAdminClusterControlPlaneNodeOutputReference 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(): GkeonpremVmwareAdminClusterControlPlaneNode | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterControlPlaneNode | undefined);
    private _cpus?;
    get cpus(): number;
    set cpus(value: number);
    resetCpus(): void;
    get cpusInput(): number | undefined;
    private _memory?;
    get memory(): number;
    set memory(value: number);
    resetMemory(): void;
    get memoryInput(): number | undefined;
    private _replicas?;
    get replicas(): number;
    set replicas(value: number);
    resetReplicas(): void;
    get replicasInput(): number | undefined;
}
export interface GkeonpremVmwareAdminClusterLoadBalancerF5Config {
    /**
    * The load balancer's IP address.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#address GkeonpremVmwareAdminCluster#address}
    */
    readonly address?: string;
    /**
    * he preexisting partition to be used by the load balancer. T
    * his partition is usually created for the admin cluster for example:
    * 'my-f5-admin-partition'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#partition GkeonpremVmwareAdminCluster#partition}
    */
    readonly partition?: string;
    /**
    * The pool name. Only necessary, if using SNAT.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#snat_pool GkeonpremVmwareAdminCluster#snat_pool}
    */
    readonly snatPool?: string;
}
export declare function gkeonpremVmwareAdminClusterLoadBalancerF5ConfigToTerraform(struct?: GkeonpremVmwareAdminClusterLoadBalancerF5ConfigOutputReference | GkeonpremVmwareAdminClusterLoadBalancerF5Config): any;
export declare function gkeonpremVmwareAdminClusterLoadBalancerF5ConfigToHclTerraform(struct?: GkeonpremVmwareAdminClusterLoadBalancerF5ConfigOutputReference | GkeonpremVmwareAdminClusterLoadBalancerF5Config): any;
export declare class GkeonpremVmwareAdminClusterLoadBalancerF5ConfigOutputReference 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(): GkeonpremVmwareAdminClusterLoadBalancerF5Config | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterLoadBalancerF5Config | undefined);
    private _address?;
    get address(): string;
    set address(value: string);
    resetAddress(): void;
    get addressInput(): string | undefined;
    private _partition?;
    get partition(): string;
    set partition(value: string);
    resetPartition(): void;
    get partitionInput(): string | undefined;
    private _snatPool?;
    get snatPool(): string;
    set snatPool(value: string);
    resetSnatPool(): void;
    get snatPoolInput(): string | undefined;
}
export interface GkeonpremVmwareAdminClusterLoadBalancerManualLbConfig {
    /**
    * NodePort for add-ons server in the admin cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#addons_node_port GkeonpremVmwareAdminCluster#addons_node_port}
    */
    readonly addonsNodePort?: number;
    /**
    * NodePort for control plane service. The Kubernetes API server in the admin
    * cluster is implemented as a Service of type NodePort (ex. 30968).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#control_plane_node_port GkeonpremVmwareAdminCluster#control_plane_node_port}
    */
    readonly controlPlaneNodePort?: number;
    /**
    * NodePort for ingress service's http. The ingress service in the admin
    * cluster is implemented as a Service of type NodePort (ex. 32527).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#ingress_http_node_port GkeonpremVmwareAdminCluster#ingress_http_node_port}
    */
    readonly ingressHttpNodePort?: number;
    /**
    * NodePort for ingress service's https. The ingress service in the admin
    * cluster is implemented as a Service of type NodePort (ex. 30139).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#ingress_https_node_port GkeonpremVmwareAdminCluster#ingress_https_node_port}
    */
    readonly ingressHttpsNodePort?: number;
    /**
    * NodePort for konnectivity server service running as a sidecar in each
    * kube-apiserver pod (ex. 30564).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#konnectivity_server_node_port GkeonpremVmwareAdminCluster#konnectivity_server_node_port}
    */
    readonly konnectivityServerNodePort?: number;
}
export declare function gkeonpremVmwareAdminClusterLoadBalancerManualLbConfigToTerraform(struct?: GkeonpremVmwareAdminClusterLoadBalancerManualLbConfigOutputReference | GkeonpremVmwareAdminClusterLoadBalancerManualLbConfig): any;
export declare function gkeonpremVmwareAdminClusterLoadBalancerManualLbConfigToHclTerraform(struct?: GkeonpremVmwareAdminClusterLoadBalancerManualLbConfigOutputReference | GkeonpremVmwareAdminClusterLoadBalancerManualLbConfig): any;
export declare class GkeonpremVmwareAdminClusterLoadBalancerManualLbConfigOutputReference 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(): GkeonpremVmwareAdminClusterLoadBalancerManualLbConfig | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterLoadBalancerManualLbConfig | undefined);
    private _addonsNodePort?;
    get addonsNodePort(): number;
    set addonsNodePort(value: number);
    resetAddonsNodePort(): void;
    get addonsNodePortInput(): number | undefined;
    private _controlPlaneNodePort?;
    get controlPlaneNodePort(): number;
    set controlPlaneNodePort(value: number);
    resetControlPlaneNodePort(): void;
    get controlPlaneNodePortInput(): number | undefined;
    private _ingressHttpNodePort?;
    get ingressHttpNodePort(): number;
    set ingressHttpNodePort(value: number);
    resetIngressHttpNodePort(): void;
    get ingressHttpNodePortInput(): number | undefined;
    private _ingressHttpsNodePort?;
    get ingressHttpsNodePort(): number;
    set ingressHttpsNodePort(value: number);
    resetIngressHttpsNodePort(): void;
    get ingressHttpsNodePortInput(): number | undefined;
    private _konnectivityServerNodePort?;
    get konnectivityServerNodePort(): number;
    set konnectivityServerNodePort(value: number);
    resetKonnectivityServerNodePort(): void;
    get konnectivityServerNodePortInput(): number | undefined;
}
export interface GkeonpremVmwareAdminClusterLoadBalancerMetalLbConfig {
    /**
    * Metal LB is enabled.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#enabled GkeonpremVmwareAdminCluster#enabled}
    */
    readonly enabled?: boolean | cdktf.IResolvable;
}
export declare function gkeonpremVmwareAdminClusterLoadBalancerMetalLbConfigToTerraform(struct?: GkeonpremVmwareAdminClusterLoadBalancerMetalLbConfigOutputReference | GkeonpremVmwareAdminClusterLoadBalancerMetalLbConfig): any;
export declare function gkeonpremVmwareAdminClusterLoadBalancerMetalLbConfigToHclTerraform(struct?: GkeonpremVmwareAdminClusterLoadBalancerMetalLbConfigOutputReference | GkeonpremVmwareAdminClusterLoadBalancerMetalLbConfig): any;
export declare class GkeonpremVmwareAdminClusterLoadBalancerMetalLbConfigOutputReference 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(): GkeonpremVmwareAdminClusterLoadBalancerMetalLbConfig | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterLoadBalancerMetalLbConfig | undefined);
    private _enabled?;
    get enabled(): boolean | cdktf.IResolvable;
    set enabled(value: boolean | cdktf.IResolvable);
    resetEnabled(): void;
    get enabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface GkeonpremVmwareAdminClusterLoadBalancerVipConfig {
    /**
    * The VIP to configure the load balancer for add-ons.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#addons_vip GkeonpremVmwareAdminCluster#addons_vip}
    */
    readonly addonsVip?: string;
    /**
    * The VIP which you previously set aside for the Kubernetes
    * API of this VMware Admin Cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#control_plane_vip GkeonpremVmwareAdminCluster#control_plane_vip}
    */
    readonly controlPlaneVip: string;
}
export declare function gkeonpremVmwareAdminClusterLoadBalancerVipConfigToTerraform(struct?: GkeonpremVmwareAdminClusterLoadBalancerVipConfigOutputReference | GkeonpremVmwareAdminClusterLoadBalancerVipConfig): any;
export declare function gkeonpremVmwareAdminClusterLoadBalancerVipConfigToHclTerraform(struct?: GkeonpremVmwareAdminClusterLoadBalancerVipConfigOutputReference | GkeonpremVmwareAdminClusterLoadBalancerVipConfig): any;
export declare class GkeonpremVmwareAdminClusterLoadBalancerVipConfigOutputReference 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(): GkeonpremVmwareAdminClusterLoadBalancerVipConfig | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterLoadBalancerVipConfig | undefined);
    private _addonsVip?;
    get addonsVip(): string;
    set addonsVip(value: string);
    resetAddonsVip(): void;
    get addonsVipInput(): string | undefined;
    private _controlPlaneVip?;
    get controlPlaneVip(): string;
    set controlPlaneVip(value: string);
    get controlPlaneVipInput(): string | undefined;
}
export interface GkeonpremVmwareAdminClusterLoadBalancer {
    /**
    * f5_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#f5_config GkeonpremVmwareAdminCluster#f5_config}
    */
    readonly f5Config?: GkeonpremVmwareAdminClusterLoadBalancerF5Config;
    /**
    * manual_lb_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#manual_lb_config GkeonpremVmwareAdminCluster#manual_lb_config}
    */
    readonly manualLbConfig?: GkeonpremVmwareAdminClusterLoadBalancerManualLbConfig;
    /**
    * metal_lb_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#metal_lb_config GkeonpremVmwareAdminCluster#metal_lb_config}
    */
    readonly metalLbConfig?: GkeonpremVmwareAdminClusterLoadBalancerMetalLbConfig;
    /**
    * vip_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#vip_config GkeonpremVmwareAdminCluster#vip_config}
    */
    readonly vipConfig: GkeonpremVmwareAdminClusterLoadBalancerVipConfig;
}
export declare function gkeonpremVmwareAdminClusterLoadBalancerToTerraform(struct?: GkeonpremVmwareAdminClusterLoadBalancerOutputReference | GkeonpremVmwareAdminClusterLoadBalancer): any;
export declare function gkeonpremVmwareAdminClusterLoadBalancerToHclTerraform(struct?: GkeonpremVmwareAdminClusterLoadBalancerOutputReference | GkeonpremVmwareAdminClusterLoadBalancer): any;
export declare class GkeonpremVmwareAdminClusterLoadBalancerOutputReference 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(): GkeonpremVmwareAdminClusterLoadBalancer | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterLoadBalancer | undefined);
    private _f5Config;
    get f5Config(): GkeonpremVmwareAdminClusterLoadBalancerF5ConfigOutputReference;
    putF5Config(value: GkeonpremVmwareAdminClusterLoadBalancerF5Config): void;
    resetF5Config(): void;
    get f5ConfigInput(): GkeonpremVmwareAdminClusterLoadBalancerF5Config | undefined;
    private _manualLbConfig;
    get manualLbConfig(): GkeonpremVmwareAdminClusterLoadBalancerManualLbConfigOutputReference;
    putManualLbConfig(value: GkeonpremVmwareAdminClusterLoadBalancerManualLbConfig): void;
    resetManualLbConfig(): void;
    get manualLbConfigInput(): GkeonpremVmwareAdminClusterLoadBalancerManualLbConfig | undefined;
    private _metalLbConfig;
    get metalLbConfig(): GkeonpremVmwareAdminClusterLoadBalancerMetalLbConfigOutputReference;
    putMetalLbConfig(value: GkeonpremVmwareAdminClusterLoadBalancerMetalLbConfig): void;
    resetMetalLbConfig(): void;
    get metalLbConfigInput(): GkeonpremVmwareAdminClusterLoadBalancerMetalLbConfig | undefined;
    private _vipConfig;
    get vipConfig(): GkeonpremVmwareAdminClusterLoadBalancerVipConfigOutputReference;
    putVipConfig(value: GkeonpremVmwareAdminClusterLoadBalancerVipConfig): void;
    get vipConfigInput(): GkeonpremVmwareAdminClusterLoadBalancerVipConfig | undefined;
}
export interface GkeonpremVmwareAdminClusterNetworkConfigDhcpIpConfig {
    /**
    * enabled is a flag to mark if DHCP IP allocation is
    * used for VMware admin clusters.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#enabled GkeonpremVmwareAdminCluster#enabled}
    */
    readonly enabled: boolean | cdktf.IResolvable;
}
export declare function gkeonpremVmwareAdminClusterNetworkConfigDhcpIpConfigToTerraform(struct?: GkeonpremVmwareAdminClusterNetworkConfigDhcpIpConfigOutputReference | GkeonpremVmwareAdminClusterNetworkConfigDhcpIpConfig): any;
export declare function gkeonpremVmwareAdminClusterNetworkConfigDhcpIpConfigToHclTerraform(struct?: GkeonpremVmwareAdminClusterNetworkConfigDhcpIpConfigOutputReference | GkeonpremVmwareAdminClusterNetworkConfigDhcpIpConfig): any;
export declare class GkeonpremVmwareAdminClusterNetworkConfigDhcpIpConfigOutputReference 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(): GkeonpremVmwareAdminClusterNetworkConfigDhcpIpConfig | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterNetworkConfigDhcpIpConfig | undefined);
    private _enabled?;
    get enabled(): boolean | cdktf.IResolvable;
    set enabled(value: boolean | cdktf.IResolvable);
    get enabledInput(): boolean | cdktf.IResolvable | undefined;
}
export interface GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockIps {
    /**
    * Hostname of the machine. VM's name will be used if this field is empty.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#hostname GkeonpremVmwareAdminCluster#hostname}
    */
    readonly hostname?: string;
    /**
    * IP could be an IP address (like 1.2.3.4) or a CIDR (like 1.2.3.0/24).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#ip GkeonpremVmwareAdminCluster#ip}
    */
    readonly ip: string;
}
export declare function gkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockIpsToTerraform(struct?: GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockIps | cdktf.IResolvable): any;
export declare function gkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockIpsToHclTerraform(struct?: GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockIps | cdktf.IResolvable): any;
export declare class GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockIpsOutputReference 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(): GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockIps | cdktf.IResolvable | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockIps | cdktf.IResolvable | undefined);
    private _hostname?;
    get hostname(): string;
    set hostname(value: string);
    resetHostname(): void;
    get hostnameInput(): string | undefined;
    private _ip?;
    get ip(): string;
    set ip(value: string);
    get ipInput(): string | undefined;
}
export declare class GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockIpsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockIps[] | 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): GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockIpsOutputReference;
}
export interface GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlock {
    /**
    * The network gateway used by the VMware Admin Cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#gateway GkeonpremVmwareAdminCluster#gateway}
    */
    readonly gateway: string;
    /**
    * The netmask used by the VMware Admin Cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#netmask GkeonpremVmwareAdminCluster#netmask}
    */
    readonly netmask: string;
    /**
    * ips block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#ips GkeonpremVmwareAdminCluster#ips}
    */
    readonly ips: GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockIps[] | cdktf.IResolvable;
}
export declare function gkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockToTerraform(struct?: GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockOutputReference | GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlock): any;
export declare function gkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockToHclTerraform(struct?: GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockOutputReference | GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlock): any;
export declare class GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockOutputReference 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(): GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlock | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlock | undefined);
    private _gateway?;
    get gateway(): string;
    set gateway(value: string);
    get gatewayInput(): string | undefined;
    private _netmask?;
    get netmask(): string;
    set netmask(value: string);
    get netmaskInput(): string | undefined;
    private _ips;
    get ips(): GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockIpsList;
    putIps(value: GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockIps[] | cdktf.IResolvable): void;
    get ipsInput(): cdktf.IResolvable | GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockIps[] | undefined;
}
export interface GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfig {
    /**
    * control_plane_ip_block block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#control_plane_ip_block GkeonpremVmwareAdminCluster#control_plane_ip_block}
    */
    readonly controlPlaneIpBlock?: GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlock;
}
export declare function gkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigToTerraform(struct?: GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigOutputReference | GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfig): any;
export declare function gkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigToHclTerraform(struct?: GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigOutputReference | GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfig): any;
export declare class GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigOutputReference 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(): GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfig | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfig | undefined);
    private _controlPlaneIpBlock;
    get controlPlaneIpBlock(): GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlockOutputReference;
    putControlPlaneIpBlock(value: GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlock): void;
    resetControlPlaneIpBlock(): void;
    get controlPlaneIpBlockInput(): GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigControlPlaneIpBlock | undefined;
}
export interface GkeonpremVmwareAdminClusterNetworkConfigHostConfig {
    /**
    * DNS search domains.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#dns_search_domains GkeonpremVmwareAdminCluster#dns_search_domains}
    */
    readonly dnsSearchDomains?: string[];
    /**
    * DNS servers.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#dns_servers GkeonpremVmwareAdminCluster#dns_servers}
    */
    readonly dnsServers?: string[];
    /**
    * NTP servers.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#ntp_servers GkeonpremVmwareAdminCluster#ntp_servers}
    */
    readonly ntpServers?: string[];
}
export declare function gkeonpremVmwareAdminClusterNetworkConfigHostConfigToTerraform(struct?: GkeonpremVmwareAdminClusterNetworkConfigHostConfigOutputReference | GkeonpremVmwareAdminClusterNetworkConfigHostConfig): any;
export declare function gkeonpremVmwareAdminClusterNetworkConfigHostConfigToHclTerraform(struct?: GkeonpremVmwareAdminClusterNetworkConfigHostConfigOutputReference | GkeonpremVmwareAdminClusterNetworkConfigHostConfig): any;
export declare class GkeonpremVmwareAdminClusterNetworkConfigHostConfigOutputReference 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(): GkeonpremVmwareAdminClusterNetworkConfigHostConfig | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterNetworkConfigHostConfig | undefined);
    private _dnsSearchDomains?;
    get dnsSearchDomains(): string[];
    set dnsSearchDomains(value: string[]);
    resetDnsSearchDomains(): void;
    get dnsSearchDomainsInput(): string[] | undefined;
    private _dnsServers?;
    get dnsServers(): string[];
    set dnsServers(value: string[]);
    resetDnsServers(): void;
    get dnsServersInput(): string[] | undefined;
    private _ntpServers?;
    get ntpServers(): string[];
    set ntpServers(value: string[]);
    resetNtpServers(): void;
    get ntpServersInput(): string[] | undefined;
}
export interface GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksIps {
    /**
    * Hostname of the machine. VM's name will be used if this field is empty.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#hostname GkeonpremVmwareAdminCluster#hostname}
    */
    readonly hostname?: string;
    /**
    * IP could be an IP address (like 1.2.3.4) or a CIDR (like 1.2.3.0/24).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#ip GkeonpremVmwareAdminCluster#ip}
    */
    readonly ip: string;
}
export declare function gkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksIpsToTerraform(struct?: GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksIps | cdktf.IResolvable): any;
export declare function gkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksIpsToHclTerraform(struct?: GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksIps | cdktf.IResolvable): any;
export declare class GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksIpsOutputReference 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(): GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksIps | cdktf.IResolvable | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksIps | cdktf.IResolvable | undefined);
    private _hostname?;
    get hostname(): string;
    set hostname(value: string);
    resetHostname(): void;
    get hostnameInput(): string | undefined;
    private _ip?;
    get ip(): string;
    set ip(value: string);
    get ipInput(): string | undefined;
}
export declare class GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksIpsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksIps[] | 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): GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksIpsOutputReference;
}
export interface GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocks {
    /**
    * The network gateway used by the VMware Admin Cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#gateway GkeonpremVmwareAdminCluster#gateway}
    */
    readonly gateway: string;
    /**
    * The netmask used by the VMware Admin Cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#netmask GkeonpremVmwareAdminCluster#netmask}
    */
    readonly netmask: string;
    /**
    * ips block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#ips GkeonpremVmwareAdminCluster#ips}
    */
    readonly ips: GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksIps[] | cdktf.IResolvable;
}
export declare function gkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksToTerraform(struct?: GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocks | cdktf.IResolvable): any;
export declare function gkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksToHclTerraform(struct?: GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocks | cdktf.IResolvable): any;
export declare class GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksOutputReference 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(): GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocks | cdktf.IResolvable | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocks | cdktf.IResolvable | undefined);
    private _gateway?;
    get gateway(): string;
    set gateway(value: string);
    get gatewayInput(): string | undefined;
    private _netmask?;
    get netmask(): string;
    set netmask(value: string);
    get netmaskInput(): string | undefined;
    private _ips;
    get ips(): GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksIpsList;
    putIps(value: GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksIps[] | cdktf.IResolvable): void;
    get ipsInput(): cdktf.IResolvable | GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksIps[] | undefined;
}
export declare class GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocks[] | 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): GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksOutputReference;
}
export interface GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfig {
    /**
    * ip_blocks block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#ip_blocks GkeonpremVmwareAdminCluster#ip_blocks}
    */
    readonly ipBlocks?: GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocks[] | cdktf.IResolvable;
}
export declare function gkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigToTerraform(struct?: GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigOutputReference | GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfig): any;
export declare function gkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigToHclTerraform(struct?: GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigOutputReference | GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfig): any;
export declare class GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigOutputReference 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(): GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfig | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfig | undefined);
    private _ipBlocks;
    get ipBlocks(): GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocksList;
    putIpBlocks(value: GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocks[] | cdktf.IResolvable): void;
    resetIpBlocks(): void;
    get ipBlocksInput(): cdktf.IResolvable | GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigIpBlocks[] | undefined;
}
export interface GkeonpremVmwareAdminClusterNetworkConfig {
    /**
    * All pods in the cluster are assigned an RFC1918 IPv4 address from these ranges.
    * Only a single range is supported. This field cannot be changed after creation.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#pod_address_cidr_blocks GkeonpremVmwareAdminCluster#pod_address_cidr_blocks}
    */
    readonly podAddressCidrBlocks: string[];
    /**
    * All services in the cluster are assigned an RFC1918 IPv4 address
    * from these ranges. Only a single range is supported.. This field
    * cannot be changed after creation.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#service_address_cidr_blocks GkeonpremVmwareAdminCluster#service_address_cidr_blocks}
    */
    readonly serviceAddressCidrBlocks: string[];
    /**
    * vcenter_network specifies vCenter network name.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#vcenter_network GkeonpremVmwareAdminCluster#vcenter_network}
    */
    readonly vcenterNetwork?: string;
    /**
    * dhcp_ip_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#dhcp_ip_config GkeonpremVmwareAdminCluster#dhcp_ip_config}
    */
    readonly dhcpIpConfig?: GkeonpremVmwareAdminClusterNetworkConfigDhcpIpConfig;
    /**
    * ha_control_plane_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#ha_control_plane_config GkeonpremVmwareAdminCluster#ha_control_plane_config}
    */
    readonly haControlPlaneConfig?: GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfig;
    /**
    * host_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#host_config GkeonpremVmwareAdminCluster#host_config}
    */
    readonly hostConfig?: GkeonpremVmwareAdminClusterNetworkConfigHostConfig;
    /**
    * static_ip_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#static_ip_config GkeonpremVmwareAdminCluster#static_ip_config}
    */
    readonly staticIpConfig?: GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfig;
}
export declare function gkeonpremVmwareAdminClusterNetworkConfigToTerraform(struct?: GkeonpremVmwareAdminClusterNetworkConfigOutputReference | GkeonpremVmwareAdminClusterNetworkConfig): any;
export declare function gkeonpremVmwareAdminClusterNetworkConfigToHclTerraform(struct?: GkeonpremVmwareAdminClusterNetworkConfigOutputReference | GkeonpremVmwareAdminClusterNetworkConfig): any;
export declare class GkeonpremVmwareAdminClusterNetworkConfigOutputReference 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(): GkeonpremVmwareAdminClusterNetworkConfig | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterNetworkConfig | undefined);
    private _podAddressCidrBlocks?;
    get podAddressCidrBlocks(): string[];
    set podAddressCidrBlocks(value: string[]);
    get podAddressCidrBlocksInput(): string[] | undefined;
    private _serviceAddressCidrBlocks?;
    get serviceAddressCidrBlocks(): string[];
    set serviceAddressCidrBlocks(value: string[]);
    get serviceAddressCidrBlocksInput(): string[] | undefined;
    private _vcenterNetwork?;
    get vcenterNetwork(): string;
    set vcenterNetwork(value: string);
    resetVcenterNetwork(): void;
    get vcenterNetworkInput(): string | undefined;
    private _dhcpIpConfig;
    get dhcpIpConfig(): GkeonpremVmwareAdminClusterNetworkConfigDhcpIpConfigOutputReference;
    putDhcpIpConfig(value: GkeonpremVmwareAdminClusterNetworkConfigDhcpIpConfig): void;
    resetDhcpIpConfig(): void;
    get dhcpIpConfigInput(): GkeonpremVmwareAdminClusterNetworkConfigDhcpIpConfig | undefined;
    private _haControlPlaneConfig;
    get haControlPlaneConfig(): GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfigOutputReference;
    putHaControlPlaneConfig(value: GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfig): void;
    resetHaControlPlaneConfig(): void;
    get haControlPlaneConfigInput(): GkeonpremVmwareAdminClusterNetworkConfigHaControlPlaneConfig | undefined;
    private _hostConfig;
    get hostConfig(): GkeonpremVmwareAdminClusterNetworkConfigHostConfigOutputReference;
    putHostConfig(value: GkeonpremVmwareAdminClusterNetworkConfigHostConfig): void;
    resetHostConfig(): void;
    get hostConfigInput(): GkeonpremVmwareAdminClusterNetworkConfigHostConfig | undefined;
    private _staticIpConfig;
    get staticIpConfig(): GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfigOutputReference;
    putStaticIpConfig(value: GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfig): void;
    resetStaticIpConfig(): void;
    get staticIpConfigInput(): GkeonpremVmwareAdminClusterNetworkConfigStaticIpConfig | undefined;
}
export interface GkeonpremVmwareAdminClusterPlatformConfigBundlesStatusConditions {
}
export declare function gkeonpremVmwareAdminClusterPlatformConfigBundlesStatusConditionsToTerraform(struct?: GkeonpremVmwareAdminClusterPlatformConfigBundlesStatusConditions): any;
export declare function gkeonpremVmwareAdminClusterPlatformConfigBundlesStatusConditionsToHclTerraform(struct?: GkeonpremVmwareAdminClusterPlatformConfigBundlesStatusConditions): any;
export declare class GkeonpremVmwareAdminClusterPlatformConfigBundlesStatusConditionsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @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(): GkeonpremVmwareAdminClusterPlatformConfigBundlesStatusConditions | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterPlatformConfigBundlesStatusConditions | undefined);
    get lastTransitionTime(): string;
    get message(): string;
    get reason(): string;
    get state(): string;
    get type(): string;
}
export declare class GkeonpremVmwareAdminClusterPlatformConfigBundlesStatusConditionsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    /**
    * @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): GkeonpremVmwareAdminClusterPlatformConfigBundlesStatusConditionsOutputReference;
}
export interface GkeonpremVmwareAdminClusterPlatformConfigBundlesStatus {
}
export declare function gkeonpremVmwareAdminClusterPlatformConfigBundlesStatusToTerraform(struct?: GkeonpremVmwareAdminClusterPlatformConfigBundlesStatus): any;
export declare function gkeonpremVmwareAdminClusterPlatformConfigBundlesStatusToHclTerraform(struct?: GkeonpremVmwareAdminClusterPlatformConfigBundlesStatus): any;
export declare class GkeonpremVmwareAdminClusterPlatformConfigBundlesStatusOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @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(): GkeonpremVmwareAdminClusterPlatformConfigBundlesStatus | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterPlatformConfigBundlesStatus | undefined);
    private _conditions;
    get conditions(): GkeonpremVmwareAdminClusterPlatformConfigBundlesStatusConditionsList;
    get errorMessage(): string;
}
export declare class GkeonpremVmwareAdminClusterPlatformConfigBundlesStatusList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    /**
    * @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): GkeonpremVmwareAdminClusterPlatformConfigBundlesStatusOutputReference;
}
export interface GkeonpremVmwareAdminClusterPlatformConfigBundles {
}
export declare function gkeonpremVmwareAdminClusterPlatformConfigBundlesToTerraform(struct?: GkeonpremVmwareAdminClusterPlatformConfigBundles): any;
export declare function gkeonpremVmwareAdminClusterPlatformConfigBundlesToHclTerraform(struct?: GkeonpremVmwareAdminClusterPlatformConfigBundles): any;
export declare class GkeonpremVmwareAdminClusterPlatformConfigBundlesOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @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(): GkeonpremVmwareAdminClusterPlatformConfigBundles | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterPlatformConfigBundles | undefined);
    private _status;
    get status(): GkeonpremVmwareAdminClusterPlatformConfigBundlesStatusList;
    get version(): string;
}
export declare class GkeonpremVmwareAdminClusterPlatformConfigBundlesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    /**
    * @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): GkeonpremVmwareAdminClusterPlatformConfigBundlesOutputReference;
}
export interface GkeonpremVmwareAdminClusterPlatformConfigStatusConditions {
}
export declare function gkeonpremVmwareAdminClusterPlatformConfigStatusConditionsToTerraform(struct?: GkeonpremVmwareAdminClusterPlatformConfigStatusConditions): any;
export declare function gkeonpremVmwareAdminClusterPlatformConfigStatusConditionsToHclTerraform(struct?: GkeonpremVmwareAdminClusterPlatformConfigStatusConditions): any;
export declare class GkeonpremVmwareAdminClusterPlatformConfigStatusConditionsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @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(): GkeonpremVmwareAdminClusterPlatformConfigStatusConditions | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterPlatformConfigStatusConditions | undefined);
    get lastTransitionTime(): string;
    get message(): string;
    get reason(): string;
    get state(): string;
    get type(): string;
}
export declare class GkeonpremVmwareAdminClusterPlatformConfigStatusConditionsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    /**
    * @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): GkeonpremVmwareAdminClusterPlatformConfigStatusConditionsOutputReference;
}
export interface GkeonpremVmwareAdminClusterPlatformConfigStatus {
}
export declare function gkeonpremVmwareAdminClusterPlatformConfigStatusToTerraform(struct?: GkeonpremVmwareAdminClusterPlatformConfigStatus): any;
export declare function gkeonpremVmwareAdminClusterPlatformConfigStatusToHclTerraform(struct?: GkeonpremVmwareAdminClusterPlatformConfigStatus): any;
export declare class GkeonpremVmwareAdminClusterPlatformConfigStatusOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    /**
    * @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(): GkeonpremVmwareAdminClusterPlatformConfigStatus | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterPlatformConfigStatus | undefined);
    private _conditions;
    get conditions(): GkeonpremVmwareAdminClusterPlatformConfigStatusConditionsList;
    get errorMessage(): string;
}
export declare class GkeonpremVmwareAdminClusterPlatformConfigStatusList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    /**
    * @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): GkeonpremVmwareAdminClusterPlatformConfigStatusOutputReference;
}
export interface GkeonpremVmwareAdminClusterPlatformConfig {
    /**
    * The required platform version e.g. 1.13.1.
    * If the current platform version is lower than the target version,
    * the platform version will be updated to the target version.
    * If the target version is not installed in the platform
    * (bundle versions), download the target version bundle.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#required_platform_version GkeonpremVmwareAdminCluster#required_platform_version}
    */
    readonly requiredPlatformVersion?: string;
}
export declare function gkeonpremVmwareAdminClusterPlatformConfigToTerraform(struct?: GkeonpremVmwareAdminClusterPlatformConfigOutputReference | GkeonpremVmwareAdminClusterPlatformConfig): any;
export declare function gkeonpremVmwareAdminClusterPlatformConfigToHclTerraform(struct?: GkeonpremVmwareAdminClusterPlatformConfigOutputReference | GkeonpremVmwareAdminClusterPlatformConfig): any;
export declare class GkeonpremVmwareAdminClusterPlatformConfigOutputReference 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(): GkeonpremVmwareAdminClusterPlatformConfig | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterPlatformConfig | undefined);
    private _bundles;
    get bundles(): GkeonpremVmwareAdminClusterPlatformConfigBundlesList;
    get platformVersion(): string;
    private _requiredPlatformVersion?;
    get requiredPlatformVersion(): string;
    set requiredPlatformVersion(value: string);
    resetRequiredPlatformVersion(): void;
    get requiredPlatformVersionInput(): string | undefined;
    private _status;
    get status(): GkeonpremVmwareAdminClusterPlatformConfigStatusList;
}
export interface GkeonpremVmwareAdminClusterPrivateRegistryConfig {
    /**
    * The registry address.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#address GkeonpremVmwareAdminCluster#address}
    */
    readonly address?: string;
    /**
    * The CA certificate public key for private registry.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#ca_cert GkeonpremVmwareAdminCluster#ca_cert}
    */
    readonly caCert?: string;
}
export declare function gkeonpremVmwareAdminClusterPrivateRegistryConfigToTerraform(struct?: GkeonpremVmwareAdminClusterPrivateRegistryConfigOutputReference | GkeonpremVmwareAdminClusterPrivateRegistryConfig): any;
export declare function gkeonpremVmwareAdminClusterPrivateRegistryConfigToHclTerraform(struct?: GkeonpremVmwareAdminClusterPrivateRegistryConfigOutputReference | GkeonpremVmwareAdminClusterPrivateRegistryConfig): any;
export declare class GkeonpremVmwareAdminClusterPrivateRegistryConfigOutputReference 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(): GkeonpremVmwareAdminClusterPrivateRegistryConfig | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterPrivateRegistryConfig | undefined);
    private _address?;
    get address(): string;
    set address(value: string);
    resetAddress(): void;
    get addressInput(): string | undefined;
    private _caCert?;
    get caCert(): string;
    set caCert(value: string);
    resetCaCert(): void;
    get caCertInput(): string | undefined;
}
export interface GkeonpremVmwareAdminClusterTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#create GkeonpremVmwareAdminCluster#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#delete GkeonpremVmwareAdminCluster#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#update GkeonpremVmwareAdminCluster#update}
    */
    readonly update?: string;
}
export declare function gkeonpremVmwareAdminClusterTimeoutsToTerraform(struct?: GkeonpremVmwareAdminClusterTimeouts | cdktf.IResolvable): any;
export declare function gkeonpremVmwareAdminClusterTimeoutsToHclTerraform(struct?: GkeonpremVmwareAdminClusterTimeouts | cdktf.IResolvable): any;
export declare class GkeonpremVmwareAdminClusterTimeoutsOutputReference 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(): GkeonpremVmwareAdminClusterTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterTimeouts | cdktf.IResolvable | undefined);
    private _create?;
    get create(): string;
    set create(value: string);
    resetCreate(): void;
    get createInput(): string | undefined;
    private _delete?;
    get delete(): string;
    set delete(value: string);
    resetDelete(): void;
    get deleteInput(): string | undefined;
    private _update?;
    get update(): string;
    set update(value: string);
    resetUpdate(): void;
    get updateInput(): string | undefined;
}
export interface GkeonpremVmwareAdminClusterVcenter {
    /**
    * The vCenter IP address.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#address GkeonpremVmwareAdminCluster#address}
    */
    readonly address?: string;
    /**
    * Contains the vCenter CA certificate public key for SSL verification.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#ca_cert_data GkeonpremVmwareAdminCluster#ca_cert_data}
    */
    readonly caCertData?: string;
    /**
    * The name of the vCenter cluster for the admin cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#cluster GkeonpremVmwareAdminCluster#cluster}
    */
    readonly cluster?: string;
    /**
    * The name of the virtual machine disk (VMDK) for the admin cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#data_disk GkeonpremVmwareAdminCluster#data_disk}
    */
    readonly dataDisk?: string;
    /**
    * The name of the vCenter datacenter for the admin cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#datacenter GkeonpremVmwareAdminCluster#datacenter}
    */
    readonly datacenter?: string;
    /**
    * The name of the vCenter datastore for the admin cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#datastore GkeonpremVmwareAdminCluster#datastore}
    */
    readonly datastore?: string;
    /**
    * The name of the vCenter folder for the admin cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#folder GkeonpremVmwareAdminCluster#folder}
    */
    readonly folder?: string;
    /**
    * The name of the vCenter resource pool for the admin cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#resource_pool GkeonpremVmwareAdminCluster#resource_pool}
    */
    readonly resourcePool?: string;
    /**
    * The name of the vCenter storage policy for the user cluster.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#storage_policy_name GkeonpremVmwareAdminCluster#storage_policy_name}
    */
    readonly storagePolicyName?: string;
}
export declare function gkeonpremVmwareAdminClusterVcenterToTerraform(struct?: GkeonpremVmwareAdminClusterVcenterOutputReference | GkeonpremVmwareAdminClusterVcenter): any;
export declare function gkeonpremVmwareAdminClusterVcenterToHclTerraform(struct?: GkeonpremVmwareAdminClusterVcenterOutputReference | GkeonpremVmwareAdminClusterVcenter): any;
export declare class GkeonpremVmwareAdminClusterVcenterOutputReference 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(): GkeonpremVmwareAdminClusterVcenter | undefined;
    set internalValue(value: GkeonpremVmwareAdminClusterVcenter | undefined);
    private _address?;
    get address(): string;
    set address(value: string);
    resetAddress(): void;
    get addressInput(): string | undefined;
    private _caCertData?;
    get caCertData(): string;
    set caCertData(value: string);
    resetCaCertData(): void;
    get caCertDataInput(): string | undefined;
    private _cluster?;
    get cluster(): string;
    set cluster(value: string);
    resetCluster(): void;
    get clusterInput(): string | undefined;
    private _dataDisk?;
    get dataDisk(): string;
    set dataDisk(value: string);
    resetDataDisk(): void;
    get dataDiskInput(): string | undefined;
    private _datacenter?;
    get datacenter(): string;
    set datacenter(value: string);
    resetDatacenter(): void;
    get datacenterInput(): string | undefined;
    private _datastore?;
    get datastore(): string;
    set datastore(value: string);
    resetDatastore(): void;
    get datastoreInput(): string | undefined;
    private _folder?;
    get folder(): string;
    set folder(value: string);
    resetFolder(): void;
    get folderInput(): string | undefined;
    private _resourcePool?;
    get resourcePool(): string;
    set resourcePool(value: string);
    resetResourcePool(): void;
    get resourcePoolInput(): string | undefined;
    private _storagePolicyName?;
    get storagePolicyName(): string;
    set storagePolicyName(value: string);
    resetStoragePolicyName(): void;
    get storagePolicyNameInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster google_gkeonprem_vmware_admin_cluster}
*/
export declare class GkeonpremVmwareAdminCluster extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_gkeonprem_vmware_admin_cluster";
    /**
    * Generates CDKTF code for importing a GkeonpremVmwareAdminCluster 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 GkeonpremVmwareAdminCluster to import
    * @param importFromId The id of the existing GkeonpremVmwareAdminCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the GkeonpremVmwareAdminCluster 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/google/6.50.0/docs/resources/gkeonprem_vmware_admin_cluster google_gkeonprem_vmware_admin_cluster} 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 GkeonpremVmwareAdminClusterConfig
    */
    constructor(scope: Construct, id: string, config: GkeonpremVmwareAdminClusterConfig);
    private _annotations?;
    get annotations(): {
        [key: string]: string;
    };
    set annotations(value: {
        [key: string]: string;
    });
    resetAnnotations(): void;
    get annotationsInput(): {
        [key: string]: string;
    } | undefined;
    private _bootstrapClusterMembership?;
    get bootstrapClusterMembership(): string;
    set bootstrapClusterMembership(value: string);
    resetBootstrapClusterMembership(): void;
    get bootstrapClusterMembershipInput(): string | undefined;
    get createTime(): string;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _effectiveAnnotations;
    get effectiveAnnotations(): cdktf.StringMap;
    private _enableAdvancedCluster?;
    get enableAdvancedCluster(): boolean | cdktf.IResolvable;
    set enableAdvancedCluster(value: boolean | cdktf.IResolvable);
    resetEnableAdvancedCluster(): void;
    get enableAdvancedClusterInput(): boolean | cdktf.IResolvable | undefined;
    get endpoint(): string;
    get etag(): string;
    private _fleet;
    get fleet(): GkeonpremVmwareAdminClusterFleetList;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _imageType?;
    get imageType(): string;
    set imageType(value: string);
    resetImageType(): void;
    get imageTypeInput(): string | undefined;
    get localName(): string;
    private _location?;
    get location(): string;
    set location(value: string);
    get locationInput(): string | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _onPremVersion?;
    get onPremVersion(): string;
    set onPremVersion(value: string);
    resetOnPremVersion(): void;
    get onPremVersionInput(): string | undefined;
    private _project?;
    get project(): string;
    set project(value: string);
    resetProject(): void;
    get projectInput(): string | undefined;
    get reconciling(): cdktf.IResolvable;
    get state(): string;
    private _status;
    get status(): GkeonpremVmwareAdminClusterStatusList;
    get uid(): string;
    get updateTime(): string;
    private _addonNode;
    get addonNode(): GkeonpremVmwareAdminClusterAddonNodeOutputReference;
    putAddonNode(value: GkeonpremVmwareAdminClusterAddonNode): void;
    resetAddonNode(): void;
    get addonNodeInput(): GkeonpremVmwareAdminClusterAddonNode | undefined;
    private _antiAffinityGroups;
    get antiAffinityGroups(): GkeonpremVmwareAdminClusterAntiAffinityGroupsOutputReference;
    putAntiAffinityGroups(value: GkeonpremVmwareAdminClusterAntiAffinityGroups): void;
    resetAntiAffinityGroups(): void;
    get antiAffinityGroupsInput(): GkeonpremVmwareAdminClusterAntiAffinityGroups | undefined;
    private _authorization;
    get authorization(): GkeonpremVmwareAdminClusterAuthorizationOutputReference;
    putAuthorization(value: GkeonpremVmwareAdminClusterAuthorization): void;
    resetAuthorization(): void;
    get authorizationInput(): GkeonpremVmwareAdminClusterAuthorization | undefined;
    private _autoRepairConfig;
    get autoRepairConfig(): GkeonpremVmwareAdminClusterAutoRepairConfigOutputReference;
    putAutoRepairConfig(value: GkeonpremVmwareAdminClusterAutoRepairConfig): void;
    resetAutoRepairConfig(): void;
    get autoRepairConfigInput(): GkeonpremVmwareAdminClusterAutoRepairConfig | undefined;
    private _controlPlaneNode;
    get controlPlaneNode(): GkeonpremVmwareAdminClusterControlPlaneNodeOutputReference;
    putControlPlaneNode(value: GkeonpremVmwareAdminClusterControlPlaneNode): void;
    resetControlPlaneNode(): void;
    get controlPlaneNodeInput(): GkeonpremVmwareAdminClusterControlPlaneNode | undefined;
    private _loadBalancer;
    get loadBalancer(): GkeonpremVmwareAdminClusterLoadBalancerOutputReference;
    putLoadBalancer(value: GkeonpremVmwareAdminClusterLoadBalancer): void;
    resetLoadBalancer(): void;
    get loadBalancerInput(): GkeonpremVmwareAdminClusterLoadBalancer | undefined;
    private _networkConfig;
    get networkConfig(): GkeonpremVmwareAdminClusterNetworkConfigOutputReference;
    putNetworkConfig(value: GkeonpremVmwareAdminClusterNetworkConfig): void;
    get networkConfigInput(): GkeonpremVmwareAdminClusterNetworkConfig | undefined;
    private _platformConfig;
    get platformConfig(): GkeonpremVmwareAdminClusterPlatformConfigOutputReference;
    putPlatformConfig(value: GkeonpremVmwareAdminClusterPlatformConfig): void;
    resetPlatformConfig(): void;
    get platformConfigInput(): GkeonpremVmwareAdminClusterPlatformConfig | undefined;
    private _privateRegistryConfig;
    get privateRegistryConfig(): GkeonpremVmwareAdminClusterPrivateRegistryConfigOutputReference;
    putPrivateRegistryConfig(value: GkeonpremVmwareAdminClusterPrivateRegistryConfig): void;
    resetPrivateRegistryConfig(): void;
    get privateRegistryConfigInput(): GkeonpremVmwareAdminClusterPrivateRegistryConfig | undefined;
    private _timeouts;
    get timeouts(): GkeonpremVmwareAdminClusterTimeoutsOutputReference;
    putTimeouts(value: GkeonpremVmwareAdminClusterTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | GkeonpremVmwareAdminClusterTimeouts | undefined;
    private _vcenter;
    get vcenter(): GkeonpremVmwareAdminClusterVcenterOutputReference;
    putVcenter(value: GkeonpremVmwareAdminClusterVcenter): void;
    resetVcenter(): void;
    get vcenterInput(): GkeonpremVmwareAdminClusterVcenter | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
