/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface ComputeInterconnectConfig extends cdktf.TerraformMetaArguments {
    /**
    * Administrative status of the interconnect. When this is set to true, the Interconnect is
    * functional and can carry traffic. When set to false, no packets can be carried over the
    * interconnect and no BGP routes are exchanged over it. By default, the status is set to true.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#admin_enabled ComputeInterconnect#admin_enabled}
    */
    readonly adminEnabled?: boolean | cdktf.IResolvable;
    /**
    * Customer name, to put in the Letter of Authorization as the party authorized to request a
    * crossconnect. This field is required for Dedicated and Partner Interconnect, should not be specified
    * for cross-cloud interconnect.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#customer_name ComputeInterconnect#customer_name}
    */
    readonly customerName?: string;
    /**
    * An optional description of this resource. Provide this property when you create the resource.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#description ComputeInterconnect#description}
    */
    readonly description?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#id ComputeInterconnect#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;
    /**
    * Type of interconnect. Note that a value IT_PRIVATE has been deprecated in favor of DEDICATED.
    * Can take one of the following values:
    *   - PARTNER: A partner-managed interconnection shared between customers though a partner.
    *   - DEDICATED: A dedicated physical interconnection with the customer. Possible values: ["DEDICATED", "PARTNER", "IT_PRIVATE"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#interconnect_type ComputeInterconnect#interconnect_type}
    */
    readonly interconnectType: string;
    /**
    * Labels for this resource. These can only be added or modified by the setLabels
    * method. Each label key/value pair must comply with RFC1035. Label values may be empty.
    *
    *
    * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
    * Please refer to the field 'effective_labels' for all of the labels present on the resource.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#labels ComputeInterconnect#labels}
    */
    readonly labels?: {
        [key: string]: string;
    };
    /**
    * Type of link requested. Note that this field indicates the speed of each of the links in the
    * bundle, not the speed of the entire bundle. Can take one of the following values:
    *   - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics.
    *   - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics.
    *   - LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 optics Possible values: ["LINK_TYPE_ETHERNET_10G_LR", "LINK_TYPE_ETHERNET_100G_LR", "LINK_TYPE_ETHERNET_400G_LR4"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#link_type ComputeInterconnect#link_type}
    */
    readonly linkType: string;
    /**
    * URL of the InterconnectLocation object that represents where this connection is to be provisioned.
    * Specifies the location inside Google's Networks.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#location ComputeInterconnect#location}
    */
    readonly location: string;
    /**
    * Enable or disable MACsec on this Interconnect connection.
    * MACsec enablement fails if the MACsec object is not specified.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#macsec_enabled ComputeInterconnect#macsec_enabled}
    */
    readonly macsecEnabled?: boolean | cdktf.IResolvable;
    /**
    * Name of the resource. Provided by the client when the resource is created. The name must be
    * 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
    * long and match the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first
    * character must be a lowercase letter, and all following characters must be a dash,
    * lowercase letter, or digit, except the last character, which cannot be a dash.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#name ComputeInterconnect#name}
    */
    readonly name: string;
    /**
    * Email address to contact the customer NOC for operations and maintenance notifications
    * regarding this Interconnect. If specified, this will be used for notifications in addition to
    * all other forms described, such as Cloud Monitoring logs alerting and Cloud Notifications.
    * This field is required for users who sign up for Cloud Interconnect using workforce identity
    * federation.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#noc_contact_email ComputeInterconnect#noc_contact_email}
    */
    readonly nocContactEmail?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#project ComputeInterconnect#project}
    */
    readonly project?: string;
    /**
    * Indicates that this is a Cross-Cloud Interconnect. This field specifies the location outside
    * of Google's network that the interconnect is connected to.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#remote_location ComputeInterconnect#remote_location}
    */
    readonly remoteLocation?: string;
    /**
    * interconnects.list of features requested for this Interconnect connection. Options: IF_MACSEC (
    * If specified then the connection is created on MACsec capable hardware ports. If not
    * specified, the default value is false, which allocates non-MACsec capable ports first if
    * available). Note that MACSEC is still technically allowed for compatibility reasons, but it
    * does not work with the API, and will be removed in an upcoming major version. Possible values: ["MACSEC", "IF_MACSEC"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#requested_features ComputeInterconnect#requested_features}
    */
    readonly requestedFeatures?: string[];
    /**
    * Target number of physical links in the link bundle, as requested by the customer.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#requested_link_count ComputeInterconnect#requested_link_count}
    */
    readonly requestedLinkCount: number;
    /**
    * macsec block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#macsec ComputeInterconnect#macsec}
    */
    readonly macsec?: ComputeInterconnectMacsec;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#timeouts ComputeInterconnect#timeouts}
    */
    readonly timeouts?: ComputeInterconnectTimeouts;
}
export interface ComputeInterconnectCircuitInfos {
}
export declare function computeInterconnectCircuitInfosToTerraform(struct?: ComputeInterconnectCircuitInfos): any;
export declare function computeInterconnectCircuitInfosToHclTerraform(struct?: ComputeInterconnectCircuitInfos): any;
export declare class ComputeInterconnectCircuitInfosOutputReference 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(): ComputeInterconnectCircuitInfos | undefined;
    set internalValue(value: ComputeInterconnectCircuitInfos | undefined);
    get customerDemarcId(): string;
    get googleCircuitId(): string;
    get googleDemarcId(): string;
}
export declare class ComputeInterconnectCircuitInfosList 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): ComputeInterconnectCircuitInfosOutputReference;
}
export interface ComputeInterconnectExpectedOutages {
}
export declare function computeInterconnectExpectedOutagesToTerraform(struct?: ComputeInterconnectExpectedOutages): any;
export declare function computeInterconnectExpectedOutagesToHclTerraform(struct?: ComputeInterconnectExpectedOutages): any;
export declare class ComputeInterconnectExpectedOutagesOutputReference 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(): ComputeInterconnectExpectedOutages | undefined;
    set internalValue(value: ComputeInterconnectExpectedOutages | undefined);
    get affectedCircuits(): string[];
    get description(): string;
    get endTime(): string;
    get issueType(): string;
    get name(): string;
    get source(): string;
    get startTime(): string;
    get state(): string;
}
export declare class ComputeInterconnectExpectedOutagesList 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): ComputeInterconnectExpectedOutagesOutputReference;
}
export interface ComputeInterconnectMacsecPreSharedKeys {
    /**
    * If set to true, the Interconnect connection is configured with a should-secure
    * MACsec security policy, that allows the Google router to fallback to cleartext
    * traffic if the MKA session cannot be established. By default, the Interconnect
    * connection is configured with a must-secure security policy that drops all traffic
    * if the MKA session cannot be established with your router.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#fail_open ComputeInterconnect#fail_open}
    */
    readonly failOpen?: boolean | cdktf.IResolvable;
    /**
    * A name for this pre-shared key. The name must be 1-63 characters long, and
    *  comply with RFC1035. Specifically, the name must be 1-63 characters long and match
    *  the regular expression '[a-z]([-a-z0-9]*[a-z0-9])?' which means the first character
    *  must be a lowercase letter, and all following characters must be a dash, lowercase
    *  letter, or digit, except the last character, which cannot be a dash.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#name ComputeInterconnect#name}
    */
    readonly name: string;
    /**
    * A RFC3339 timestamp on or after which the key is valid. startTime can be in the
    * future. If the keychain has a single key, startTime can be omitted. If the keychain
    * has multiple keys, startTime is mandatory for each key. The start times of keys must
    * be in increasing order. The start times of two consecutive keys must be at least 6
    * hours apart.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#start_time ComputeInterconnect#start_time}
    */
    readonly startTime?: string;
}
export declare function computeInterconnectMacsecPreSharedKeysToTerraform(struct?: ComputeInterconnectMacsecPreSharedKeys | cdktf.IResolvable): any;
export declare function computeInterconnectMacsecPreSharedKeysToHclTerraform(struct?: ComputeInterconnectMacsecPreSharedKeys | cdktf.IResolvable): any;
export declare class ComputeInterconnectMacsecPreSharedKeysOutputReference 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(): ComputeInterconnectMacsecPreSharedKeys | cdktf.IResolvable | undefined;
    set internalValue(value: ComputeInterconnectMacsecPreSharedKeys | cdktf.IResolvable | undefined);
    private _failOpen?;
    get failOpen(): boolean | cdktf.IResolvable;
    set failOpen(value: boolean | cdktf.IResolvable);
    resetFailOpen(): void;
    get failOpenInput(): boolean | cdktf.IResolvable | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _startTime?;
    get startTime(): string;
    set startTime(value: string);
    resetStartTime(): void;
    get startTimeInput(): string | undefined;
}
export declare class ComputeInterconnectMacsecPreSharedKeysList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: ComputeInterconnectMacsecPreSharedKeys[] | 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): ComputeInterconnectMacsecPreSharedKeysOutputReference;
}
export interface ComputeInterconnectMacsec {
    /**
    * If set to true, the Interconnect connection is configured with a should-secure
    * MACsec security policy, that allows the Google router to fallback to cleartext
    * traffic if the MKA session cannot be established. By default, the Interconnect
    * connection is configured with a must-secure security policy that drops all traffic
    * if the MKA session cannot be established with your router.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#fail_open ComputeInterconnect#fail_open}
    */
    readonly failOpen?: boolean | cdktf.IResolvable;
    /**
    * pre_shared_keys block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#pre_shared_keys ComputeInterconnect#pre_shared_keys}
    */
    readonly preSharedKeys: ComputeInterconnectMacsecPreSharedKeys[] | cdktf.IResolvable;
}
export declare function computeInterconnectMacsecToTerraform(struct?: ComputeInterconnectMacsecOutputReference | ComputeInterconnectMacsec): any;
export declare function computeInterconnectMacsecToHclTerraform(struct?: ComputeInterconnectMacsecOutputReference | ComputeInterconnectMacsec): any;
export declare class ComputeInterconnectMacsecOutputReference 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(): ComputeInterconnectMacsec | undefined;
    set internalValue(value: ComputeInterconnectMacsec | undefined);
    private _failOpen?;
    get failOpen(): boolean | cdktf.IResolvable;
    set failOpen(value: boolean | cdktf.IResolvable);
    resetFailOpen(): void;
    get failOpenInput(): boolean | cdktf.IResolvable | undefined;
    private _preSharedKeys;
    get preSharedKeys(): ComputeInterconnectMacsecPreSharedKeysList;
    putPreSharedKeys(value: ComputeInterconnectMacsecPreSharedKeys[] | cdktf.IResolvable): void;
    get preSharedKeysInput(): cdktf.IResolvable | ComputeInterconnectMacsecPreSharedKeys[] | undefined;
}
export interface ComputeInterconnectTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#create ComputeInterconnect#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#delete ComputeInterconnect#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#update ComputeInterconnect#update}
    */
    readonly update?: string;
}
export declare function computeInterconnectTimeoutsToTerraform(struct?: ComputeInterconnectTimeouts | cdktf.IResolvable): any;
export declare function computeInterconnectTimeoutsToHclTerraform(struct?: ComputeInterconnectTimeouts | cdktf.IResolvable): any;
export declare class ComputeInterconnectTimeoutsOutputReference 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(): ComputeInterconnectTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: ComputeInterconnectTimeouts | 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;
}
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect google_compute_interconnect}
*/
export declare class ComputeInterconnect extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_compute_interconnect";
    /**
    * Generates CDKTF code for importing a ComputeInterconnect 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 ComputeInterconnect to import
    * @param importFromId The id of the existing ComputeInterconnect that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/compute_interconnect#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the ComputeInterconnect 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.36.0/docs/resources/compute_interconnect google_compute_interconnect} 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 ComputeInterconnectConfig
    */
    constructor(scope: Construct, id: string, config: ComputeInterconnectConfig);
    private _adminEnabled?;
    get adminEnabled(): boolean | cdktf.IResolvable;
    set adminEnabled(value: boolean | cdktf.IResolvable);
    resetAdminEnabled(): void;
    get adminEnabledInput(): boolean | cdktf.IResolvable | undefined;
    get availableFeatures(): string[];
    private _circuitInfos;
    get circuitInfos(): ComputeInterconnectCircuitInfosList;
    get creationTimestamp(): string;
    private _customerName?;
    get customerName(): string;
    set customerName(value: string);
    resetCustomerName(): void;
    get customerNameInput(): string | undefined;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _effectiveLabels;
    get effectiveLabels(): cdktf.StringMap;
    private _expectedOutages;
    get expectedOutages(): ComputeInterconnectExpectedOutagesList;
    get googleIpAddress(): string;
    get googleReferenceId(): string;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    get interconnectAttachments(): string[];
    private _interconnectType?;
    get interconnectType(): string;
    set interconnectType(value: string);
    get interconnectTypeInput(): string | undefined;
    get labelFingerprint(): string;
    private _labels?;
    get labels(): {
        [key: string]: string;
    };
    set labels(value: {
        [key: string]: string;
    });
    resetLabels(): void;
    get labelsInput(): {
        [key: string]: string;
    } | undefined;
    private _linkType?;
    get linkType(): string;
    set linkType(value: string);
    get linkTypeInput(): string | undefined;
    private _location?;
    get location(): string;
    set location(value: string);
    get locationInput(): string | undefined;
    private _macsecEnabled?;
    get macsecEnabled(): boolean | cdktf.IResolvable;
    set macsecEnabled(value: boolean | cdktf.IResolvable);
    resetMacsecEnabled(): void;
    get macsecEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _nocContactEmail?;
    get nocContactEmail(): string;
    set nocContactEmail(value: string);
    resetNocContactEmail(): void;
    get nocContactEmailInput(): string | undefined;
    get operationalStatus(): string;
    get peerIpAddress(): string;
    private _project?;
    get project(): string;
    set project(value: string);
    resetProject(): void;
    get projectInput(): string | undefined;
    get provisionedLinkCount(): number;
    private _remoteLocation?;
    get remoteLocation(): string;
    set remoteLocation(value: string);
    resetRemoteLocation(): void;
    get remoteLocationInput(): string | undefined;
    private _requestedFeatures?;
    get requestedFeatures(): string[];
    set requestedFeatures(value: string[]);
    resetRequestedFeatures(): void;
    get requestedFeaturesInput(): string[] | undefined;
    private _requestedLinkCount?;
    get requestedLinkCount(): number;
    set requestedLinkCount(value: number);
    get requestedLinkCountInput(): number | undefined;
    get satisfiesPzs(): cdktf.IResolvable;
    get state(): string;
    private _terraformLabels;
    get terraformLabels(): cdktf.StringMap;
    private _macsec;
    get macsec(): ComputeInterconnectMacsecOutputReference;
    putMacsec(value: ComputeInterconnectMacsec): void;
    resetMacsec(): void;
    get macsecInput(): ComputeInterconnectMacsec | undefined;
    private _timeouts;
    get timeouts(): ComputeInterconnectTimeoutsOutputReference;
    putTimeouts(value: ComputeInterconnectTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | ComputeInterconnectTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
