/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface MonitoringUptimeCheckConfigConfig extends cdktf.TerraformMetaArguments {
    /**
    * The checker type to use for the check. If the monitored resource type is 'servicedirectory_service', 'checker_type' must be set to 'VPC_CHECKERS'. Possible values: ["STATIC_IP_CHECKERS", "VPC_CHECKERS"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#checker_type MonitoringUptimeCheckConfig#checker_type}
    */
    readonly checkerType?: string;
    /**
    * A human-friendly name for the uptime check configuration. The display name should be unique within a Stackdriver Workspace in order to make it easier to identify; however, uniqueness is not enforced.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#display_name MonitoringUptimeCheckConfig#display_name}
    */
    readonly displayName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#id MonitoringUptimeCheckConfig#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;
    /**
    * How often, in seconds, the uptime check is performed. Currently, the only supported values are 60s (1 minute), 300s (5 minutes), 600s (10 minutes), and 900s (15 minutes). Optional, defaults to 300s.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#period MonitoringUptimeCheckConfig#period}
    */
    readonly period?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#project MonitoringUptimeCheckConfig#project}
    */
    readonly project?: string;
    /**
    * The list of regions from which the check will be run. Some regions contain one location, and others contain more than one. If this field is specified, enough regions to include a minimum of 3 locations must be provided, or an error message is returned. Not specifying this field will result in uptime checks running from all regions.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#selected_regions MonitoringUptimeCheckConfig#selected_regions}
    */
    readonly selectedRegions?: string[];
    /**
    * The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). [See the accepted formats]( https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#timeout MonitoringUptimeCheckConfig#timeout}
    */
    readonly timeout: string;
    /**
    * User-supplied key/value data to be used for organizing and identifying the 'UptimeCheckConfig' objects. The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#user_labels MonitoringUptimeCheckConfig#user_labels}
    */
    readonly userLabels?: {
        [key: string]: string;
    };
    /**
    * content_matchers block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#content_matchers MonitoringUptimeCheckConfig#content_matchers}
    */
    readonly contentMatchers?: MonitoringUptimeCheckConfigContentMatchers[] | cdktf.IResolvable;
    /**
    * http_check block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#http_check MonitoringUptimeCheckConfig#http_check}
    */
    readonly httpCheck?: MonitoringUptimeCheckConfigHttpCheck;
    /**
    * monitored_resource block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#monitored_resource MonitoringUptimeCheckConfig#monitored_resource}
    */
    readonly monitoredResource?: MonitoringUptimeCheckConfigMonitoredResource;
    /**
    * resource_group block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#resource_group MonitoringUptimeCheckConfig#resource_group}
    */
    readonly resourceGroup?: MonitoringUptimeCheckConfigResourceGroup;
    /**
    * synthetic_monitor block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#synthetic_monitor MonitoringUptimeCheckConfig#synthetic_monitor}
    */
    readonly syntheticMonitor?: MonitoringUptimeCheckConfigSyntheticMonitor;
    /**
    * tcp_check block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#tcp_check MonitoringUptimeCheckConfig#tcp_check}
    */
    readonly tcpCheck?: MonitoringUptimeCheckConfigTcpCheck;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#timeouts MonitoringUptimeCheckConfig#timeouts}
    */
    readonly timeouts?: MonitoringUptimeCheckConfigTimeouts;
}
export interface MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher {
    /**
    * Options to perform JSONPath content matching. Default value: "EXACT_MATCH" Possible values: ["EXACT_MATCH", "REGEX_MATCH"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#json_matcher MonitoringUptimeCheckConfig#json_matcher}
    */
    readonly jsonMatcher?: string;
    /**
    * JSONPath within the response output pointing to the expected 'ContentMatcher::content' to match against.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#json_path MonitoringUptimeCheckConfig#json_path}
    */
    readonly jsonPath: string;
}
export declare function monitoringUptimeCheckConfigContentMatchersJsonPathMatcherToTerraform(struct?: MonitoringUptimeCheckConfigContentMatchersJsonPathMatcherOutputReference | MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher): any;
export declare function monitoringUptimeCheckConfigContentMatchersJsonPathMatcherToHclTerraform(struct?: MonitoringUptimeCheckConfigContentMatchersJsonPathMatcherOutputReference | MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher): any;
export declare class MonitoringUptimeCheckConfigContentMatchersJsonPathMatcherOutputReference 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(): MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher | undefined;
    set internalValue(value: MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher | undefined);
    private _jsonMatcher?;
    get jsonMatcher(): string;
    set jsonMatcher(value: string);
    resetJsonMatcher(): void;
    get jsonMatcherInput(): string | undefined;
    private _jsonPath?;
    get jsonPath(): string;
    set jsonPath(value: string);
    get jsonPathInput(): string | undefined;
}
export interface MonitoringUptimeCheckConfigContentMatchers {
    /**
    * String or regex content to match (max 1024 bytes)
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#content MonitoringUptimeCheckConfig#content}
    */
    readonly content: string;
    /**
    * The type of content matcher that will be applied to the server output, compared to the content string when the check is run. Default value: "CONTAINS_STRING" Possible values: ["CONTAINS_STRING", "NOT_CONTAINS_STRING", "MATCHES_REGEX", "NOT_MATCHES_REGEX", "MATCHES_JSON_PATH", "NOT_MATCHES_JSON_PATH"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#matcher MonitoringUptimeCheckConfig#matcher}
    */
    readonly matcher?: string;
    /**
    * json_path_matcher block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#json_path_matcher MonitoringUptimeCheckConfig#json_path_matcher}
    */
    readonly jsonPathMatcher?: MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher;
}
export declare function monitoringUptimeCheckConfigContentMatchersToTerraform(struct?: MonitoringUptimeCheckConfigContentMatchers | cdktf.IResolvable): any;
export declare function monitoringUptimeCheckConfigContentMatchersToHclTerraform(struct?: MonitoringUptimeCheckConfigContentMatchers | cdktf.IResolvable): any;
export declare class MonitoringUptimeCheckConfigContentMatchersOutputReference 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(): MonitoringUptimeCheckConfigContentMatchers | cdktf.IResolvable | undefined;
    set internalValue(value: MonitoringUptimeCheckConfigContentMatchers | cdktf.IResolvable | undefined);
    private _content?;
    get content(): string;
    set content(value: string);
    get contentInput(): string | undefined;
    private _matcher?;
    get matcher(): string;
    set matcher(value: string);
    resetMatcher(): void;
    get matcherInput(): string | undefined;
    private _jsonPathMatcher;
    get jsonPathMatcher(): MonitoringUptimeCheckConfigContentMatchersJsonPathMatcherOutputReference;
    putJsonPathMatcher(value: MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher): void;
    resetJsonPathMatcher(): void;
    get jsonPathMatcherInput(): MonitoringUptimeCheckConfigContentMatchersJsonPathMatcher | undefined;
}
export declare class MonitoringUptimeCheckConfigContentMatchersList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: MonitoringUptimeCheckConfigContentMatchers[] | 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): MonitoringUptimeCheckConfigContentMatchersOutputReference;
}
export interface MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes {
    /**
    * A class of status codes to accept. Possible values: ["STATUS_CLASS_1XX", "STATUS_CLASS_2XX", "STATUS_CLASS_3XX", "STATUS_CLASS_4XX", "STATUS_CLASS_5XX", "STATUS_CLASS_ANY"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#status_class MonitoringUptimeCheckConfig#status_class}
    */
    readonly statusClass?: string;
    /**
    * A status code to accept.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#status_value MonitoringUptimeCheckConfig#status_value}
    */
    readonly statusValue?: number;
}
export declare function monitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodesToTerraform(struct?: MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes | cdktf.IResolvable): any;
export declare function monitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodesToHclTerraform(struct?: MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes | cdktf.IResolvable): any;
export declare class MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodesOutputReference 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(): MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes | cdktf.IResolvable | undefined;
    set internalValue(value: MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes | cdktf.IResolvable | undefined);
    private _statusClass?;
    get statusClass(): string;
    set statusClass(value: string);
    resetStatusClass(): void;
    get statusClassInput(): string | undefined;
    private _statusValue?;
    get statusValue(): number;
    set statusValue(value: number);
    resetStatusValue(): void;
    get statusValueInput(): number | undefined;
}
export declare class MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes[] | 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): MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodesOutputReference;
}
export interface MonitoringUptimeCheckConfigHttpCheckAuthInfo {
    /**
    * The password to authenticate.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#password MonitoringUptimeCheckConfig#password}
    */
    readonly password: string;
    /**
    * The username to authenticate.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#username MonitoringUptimeCheckConfig#username}
    */
    readonly username: string;
}
export declare function monitoringUptimeCheckConfigHttpCheckAuthInfoToTerraform(struct?: MonitoringUptimeCheckConfigHttpCheckAuthInfoOutputReference | MonitoringUptimeCheckConfigHttpCheckAuthInfo): any;
export declare function monitoringUptimeCheckConfigHttpCheckAuthInfoToHclTerraform(struct?: MonitoringUptimeCheckConfigHttpCheckAuthInfoOutputReference | MonitoringUptimeCheckConfigHttpCheckAuthInfo): any;
export declare class MonitoringUptimeCheckConfigHttpCheckAuthInfoOutputReference 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(): MonitoringUptimeCheckConfigHttpCheckAuthInfo | undefined;
    set internalValue(value: MonitoringUptimeCheckConfigHttpCheckAuthInfo | undefined);
    private _password?;
    get password(): string;
    set password(value: string);
    get passwordInput(): string | undefined;
    private _username?;
    get username(): string;
    set username(value: string);
    get usernameInput(): string | undefined;
}
export interface MonitoringUptimeCheckConfigHttpCheckPingConfig {
    /**
    * Number of ICMP pings. A maximum of 3 ICMP pings is currently supported.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#pings_count MonitoringUptimeCheckConfig#pings_count}
    */
    readonly pingsCount: number;
}
export declare function monitoringUptimeCheckConfigHttpCheckPingConfigToTerraform(struct?: MonitoringUptimeCheckConfigHttpCheckPingConfigOutputReference | MonitoringUptimeCheckConfigHttpCheckPingConfig): any;
export declare function monitoringUptimeCheckConfigHttpCheckPingConfigToHclTerraform(struct?: MonitoringUptimeCheckConfigHttpCheckPingConfigOutputReference | MonitoringUptimeCheckConfigHttpCheckPingConfig): any;
export declare class MonitoringUptimeCheckConfigHttpCheckPingConfigOutputReference 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(): MonitoringUptimeCheckConfigHttpCheckPingConfig | undefined;
    set internalValue(value: MonitoringUptimeCheckConfigHttpCheckPingConfig | undefined);
    private _pingsCount?;
    get pingsCount(): number;
    set pingsCount(value: number);
    get pingsCountInput(): number | undefined;
}
export interface MonitoringUptimeCheckConfigHttpCheckServiceAgentAuthentication {
    /**
    * The type of authentication to use. Possible values: ["SERVICE_AGENT_AUTHENTICATION_TYPE_UNSPECIFIED", "OIDC_TOKEN"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#type MonitoringUptimeCheckConfig#type}
    */
    readonly type?: string;
}
export declare function monitoringUptimeCheckConfigHttpCheckServiceAgentAuthenticationToTerraform(struct?: MonitoringUptimeCheckConfigHttpCheckServiceAgentAuthenticationOutputReference | MonitoringUptimeCheckConfigHttpCheckServiceAgentAuthentication): any;
export declare function monitoringUptimeCheckConfigHttpCheckServiceAgentAuthenticationToHclTerraform(struct?: MonitoringUptimeCheckConfigHttpCheckServiceAgentAuthenticationOutputReference | MonitoringUptimeCheckConfigHttpCheckServiceAgentAuthentication): any;
export declare class MonitoringUptimeCheckConfigHttpCheckServiceAgentAuthenticationOutputReference 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(): MonitoringUptimeCheckConfigHttpCheckServiceAgentAuthentication | undefined;
    set internalValue(value: MonitoringUptimeCheckConfigHttpCheckServiceAgentAuthentication | undefined);
    private _type?;
    get type(): string;
    set type(value: string);
    resetType(): void;
    get typeInput(): string | undefined;
}
export interface MonitoringUptimeCheckConfigHttpCheck {
    /**
    * The request body associated with the HTTP POST request. If 'content_type' is 'URL_ENCODED', the body passed in must be URL-encoded. Users can provide a 'Content-Length' header via the 'headers' field or the API will do so. If the 'request_method' is 'GET' and 'body' is not empty, the API will return an error. The maximum byte size is 1 megabyte. Note - As with all bytes fields JSON representations are base64 encoded. e.g. 'foo=bar' in URL-encoded form is 'foo%3Dbar' and in base64 encoding is 'Zm9vJTI1M0RiYXI='.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#body MonitoringUptimeCheckConfig#body}
    */
    readonly body?: string;
    /**
    * The content type to use for the check. Possible values: ["TYPE_UNSPECIFIED", "URL_ENCODED", "USER_PROVIDED"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#content_type MonitoringUptimeCheckConfig#content_type}
    */
    readonly contentType?: string;
    /**
    * A user provided content type header to use for the check. The invalid configurations outlined in the 'content_type' field apply to custom_content_type', as well as the following 1. 'content_type' is 'URL_ENCODED' and 'custom_content_type' is set. 2. 'content_type' is 'USER_PROVIDED' and 'custom_content_type' is not set.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#custom_content_type MonitoringUptimeCheckConfig#custom_content_type}
    */
    readonly customContentType?: string;
    /**
    * The list of headers to send as part of the uptime check request. If two headers have the same key and different values, they should be entered as a single header, with the value being a comma-separated list of all the desired values as described in [RFC 2616 (page 31)](https://www.w3.org/Protocols/rfc2616/rfc2616.txt). Entering two separate headers with the same key in a Create call will cause the first to be overwritten by the second. The maximum number of headers allowed is 100.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#headers MonitoringUptimeCheckConfig#headers}
    */
    readonly headers?: {
        [key: string]: string;
    };
    /**
    * Boolean specifying whether to encrypt the header information. Encryption should be specified for any headers related to authentication that you do not wish to be seen when retrieving the configuration. The server will be responsible for encrypting the headers. On Get/List calls, if 'mask_headers' is set to 'true' then the headers will be obscured with '******'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#mask_headers MonitoringUptimeCheckConfig#mask_headers}
    */
    readonly maskHeaders?: boolean | cdktf.IResolvable;
    /**
    * The path to the page to run the check against. Will be combined with the host (specified within the MonitoredResource) and port to construct the full URL. If the provided path does not begin with '/', a '/' will be prepended automatically. Optional (defaults to '/').
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#path MonitoringUptimeCheckConfig#path}
    */
    readonly path?: string;
    /**
    * The port to the page to run the check against. Will be combined with 'host' (specified within the ['monitored_resource'](#nested_monitored_resource)) and path to construct the full URL. Optional (defaults to 80 without SSL, or 443 with SSL).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#port MonitoringUptimeCheckConfig#port}
    */
    readonly port?: number;
    /**
    * The HTTP request method to use for the check. If set to 'METHOD_UNSPECIFIED' then 'request_method' defaults to 'GET'. Default value: "GET" Possible values: ["METHOD_UNSPECIFIED", "GET", "POST"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#request_method MonitoringUptimeCheckConfig#request_method}
    */
    readonly requestMethod?: string;
    /**
    * If true, use HTTPS instead of HTTP to run the check.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#use_ssl MonitoringUptimeCheckConfig#use_ssl}
    */
    readonly useSsl?: boolean | cdktf.IResolvable;
    /**
    * Boolean specifying whether to include SSL certificate validation as a part of the Uptime check. Only applies to checks where 'monitored_resource' is set to 'uptime_url'. If 'use_ssl' is 'false', setting 'validate_ssl' to 'true' has no effect.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#validate_ssl MonitoringUptimeCheckConfig#validate_ssl}
    */
    readonly validateSsl?: boolean | cdktf.IResolvable;
    /**
    * accepted_response_status_codes block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#accepted_response_status_codes MonitoringUptimeCheckConfig#accepted_response_status_codes}
    */
    readonly acceptedResponseStatusCodes?: MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes[] | cdktf.IResolvable;
    /**
    * auth_info block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#auth_info MonitoringUptimeCheckConfig#auth_info}
    */
    readonly authInfo?: MonitoringUptimeCheckConfigHttpCheckAuthInfo;
    /**
    * ping_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#ping_config MonitoringUptimeCheckConfig#ping_config}
    */
    readonly pingConfig?: MonitoringUptimeCheckConfigHttpCheckPingConfig;
    /**
    * service_agent_authentication block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#service_agent_authentication MonitoringUptimeCheckConfig#service_agent_authentication}
    */
    readonly serviceAgentAuthentication?: MonitoringUptimeCheckConfigHttpCheckServiceAgentAuthentication;
}
export declare function monitoringUptimeCheckConfigHttpCheckToTerraform(struct?: MonitoringUptimeCheckConfigHttpCheckOutputReference | MonitoringUptimeCheckConfigHttpCheck): any;
export declare function monitoringUptimeCheckConfigHttpCheckToHclTerraform(struct?: MonitoringUptimeCheckConfigHttpCheckOutputReference | MonitoringUptimeCheckConfigHttpCheck): any;
export declare class MonitoringUptimeCheckConfigHttpCheckOutputReference 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(): MonitoringUptimeCheckConfigHttpCheck | undefined;
    set internalValue(value: MonitoringUptimeCheckConfigHttpCheck | undefined);
    private _body?;
    get body(): string;
    set body(value: string);
    resetBody(): void;
    get bodyInput(): string | undefined;
    private _contentType?;
    get contentType(): string;
    set contentType(value: string);
    resetContentType(): void;
    get contentTypeInput(): string | undefined;
    private _customContentType?;
    get customContentType(): string;
    set customContentType(value: string);
    resetCustomContentType(): void;
    get customContentTypeInput(): string | undefined;
    private _headers?;
    get headers(): {
        [key: string]: string;
    };
    set headers(value: {
        [key: string]: string;
    });
    resetHeaders(): void;
    get headersInput(): {
        [key: string]: string;
    } | undefined;
    private _maskHeaders?;
    get maskHeaders(): boolean | cdktf.IResolvable;
    set maskHeaders(value: boolean | cdktf.IResolvable);
    resetMaskHeaders(): void;
    get maskHeadersInput(): boolean | cdktf.IResolvable | undefined;
    private _path?;
    get path(): string;
    set path(value: string);
    resetPath(): void;
    get pathInput(): string | undefined;
    private _port?;
    get port(): number;
    set port(value: number);
    resetPort(): void;
    get portInput(): number | undefined;
    private _requestMethod?;
    get requestMethod(): string;
    set requestMethod(value: string);
    resetRequestMethod(): void;
    get requestMethodInput(): string | undefined;
    private _useSsl?;
    get useSsl(): boolean | cdktf.IResolvable;
    set useSsl(value: boolean | cdktf.IResolvable);
    resetUseSsl(): void;
    get useSslInput(): boolean | cdktf.IResolvable | undefined;
    private _validateSsl?;
    get validateSsl(): boolean | cdktf.IResolvable;
    set validateSsl(value: boolean | cdktf.IResolvable);
    resetValidateSsl(): void;
    get validateSslInput(): boolean | cdktf.IResolvable | undefined;
    private _acceptedResponseStatusCodes;
    get acceptedResponseStatusCodes(): MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodesList;
    putAcceptedResponseStatusCodes(value: MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes[] | cdktf.IResolvable): void;
    resetAcceptedResponseStatusCodes(): void;
    get acceptedResponseStatusCodesInput(): cdktf.IResolvable | MonitoringUptimeCheckConfigHttpCheckAcceptedResponseStatusCodes[] | undefined;
    private _authInfo;
    get authInfo(): MonitoringUptimeCheckConfigHttpCheckAuthInfoOutputReference;
    putAuthInfo(value: MonitoringUptimeCheckConfigHttpCheckAuthInfo): void;
    resetAuthInfo(): void;
    get authInfoInput(): MonitoringUptimeCheckConfigHttpCheckAuthInfo | undefined;
    private _pingConfig;
    get pingConfig(): MonitoringUptimeCheckConfigHttpCheckPingConfigOutputReference;
    putPingConfig(value: MonitoringUptimeCheckConfigHttpCheckPingConfig): void;
    resetPingConfig(): void;
    get pingConfigInput(): MonitoringUptimeCheckConfigHttpCheckPingConfig | undefined;
    private _serviceAgentAuthentication;
    get serviceAgentAuthentication(): MonitoringUptimeCheckConfigHttpCheckServiceAgentAuthenticationOutputReference;
    putServiceAgentAuthentication(value: MonitoringUptimeCheckConfigHttpCheckServiceAgentAuthentication): void;
    resetServiceAgentAuthentication(): void;
    get serviceAgentAuthenticationInput(): MonitoringUptimeCheckConfigHttpCheckServiceAgentAuthentication | undefined;
}
export interface MonitoringUptimeCheckConfigMonitoredResource {
    /**
    * Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels 'project_id', 'instance_id', and 'zone'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#labels MonitoringUptimeCheckConfig#labels}
    */
    readonly labels: {
        [key: string]: string;
    };
    /**
    * The monitored resource type. This field must match the type field of a ['MonitoredResourceDescriptor'](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.monitoredResourceDescriptors#MonitoredResourceDescriptor) object. For example, the type of a Compute Engine VM instance is 'gce_instance'. For a list of types, see [Monitoring resource types](https://cloud.google.com/monitoring/api/resources) and [Logging resource types](https://cloud.google.com/logging/docs/api/v2/resource-list).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#type MonitoringUptimeCheckConfig#type}
    */
    readonly type: string;
}
export declare function monitoringUptimeCheckConfigMonitoredResourceToTerraform(struct?: MonitoringUptimeCheckConfigMonitoredResourceOutputReference | MonitoringUptimeCheckConfigMonitoredResource): any;
export declare function monitoringUptimeCheckConfigMonitoredResourceToHclTerraform(struct?: MonitoringUptimeCheckConfigMonitoredResourceOutputReference | MonitoringUptimeCheckConfigMonitoredResource): any;
export declare class MonitoringUptimeCheckConfigMonitoredResourceOutputReference 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(): MonitoringUptimeCheckConfigMonitoredResource | undefined;
    set internalValue(value: MonitoringUptimeCheckConfigMonitoredResource | undefined);
    private _labels?;
    get labels(): {
        [key: string]: string;
    };
    set labels(value: {
        [key: string]: string;
    });
    get labelsInput(): {
        [key: string]: string;
    } | undefined;
    private _type?;
    get type(): string;
    set type(value: string);
    get typeInput(): string | undefined;
}
export interface MonitoringUptimeCheckConfigResourceGroup {
    /**
    * The group of resources being monitored. Should be the 'name' of a group
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#group_id MonitoringUptimeCheckConfig#group_id}
    */
    readonly groupId?: string;
    /**
    * The resource type of the group members. Possible values: ["RESOURCE_TYPE_UNSPECIFIED", "INSTANCE", "AWS_ELB_LOAD_BALANCER"]
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#resource_type MonitoringUptimeCheckConfig#resource_type}
    */
    readonly resourceType?: string;
}
export declare function monitoringUptimeCheckConfigResourceGroupToTerraform(struct?: MonitoringUptimeCheckConfigResourceGroupOutputReference | MonitoringUptimeCheckConfigResourceGroup): any;
export declare function monitoringUptimeCheckConfigResourceGroupToHclTerraform(struct?: MonitoringUptimeCheckConfigResourceGroupOutputReference | MonitoringUptimeCheckConfigResourceGroup): any;
export declare class MonitoringUptimeCheckConfigResourceGroupOutputReference 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(): MonitoringUptimeCheckConfigResourceGroup | undefined;
    set internalValue(value: MonitoringUptimeCheckConfigResourceGroup | undefined);
    private _groupId?;
    get groupId(): string;
    set groupId(value: string);
    resetGroupId(): void;
    get groupIdInput(): string | undefined;
    private _resourceType?;
    get resourceType(): string;
    set resourceType(value: string);
    resetResourceType(): void;
    get resourceTypeInput(): string | undefined;
}
export interface MonitoringUptimeCheckConfigSyntheticMonitorCloudFunctionV2 {
    /**
    * The fully qualified name of the cloud function resource.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#name MonitoringUptimeCheckConfig#name}
    */
    readonly name: string;
}
export declare function monitoringUptimeCheckConfigSyntheticMonitorCloudFunctionV2ToTerraform(struct?: MonitoringUptimeCheckConfigSyntheticMonitorCloudFunctionV2OutputReference | MonitoringUptimeCheckConfigSyntheticMonitorCloudFunctionV2): any;
export declare function monitoringUptimeCheckConfigSyntheticMonitorCloudFunctionV2ToHclTerraform(struct?: MonitoringUptimeCheckConfigSyntheticMonitorCloudFunctionV2OutputReference | MonitoringUptimeCheckConfigSyntheticMonitorCloudFunctionV2): any;
export declare class MonitoringUptimeCheckConfigSyntheticMonitorCloudFunctionV2OutputReference 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(): MonitoringUptimeCheckConfigSyntheticMonitorCloudFunctionV2 | undefined;
    set internalValue(value: MonitoringUptimeCheckConfigSyntheticMonitorCloudFunctionV2 | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
}
export interface MonitoringUptimeCheckConfigSyntheticMonitor {
    /**
    * cloud_function_v2 block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#cloud_function_v2 MonitoringUptimeCheckConfig#cloud_function_v2}
    */
    readonly cloudFunctionV2: MonitoringUptimeCheckConfigSyntheticMonitorCloudFunctionV2;
}
export declare function monitoringUptimeCheckConfigSyntheticMonitorToTerraform(struct?: MonitoringUptimeCheckConfigSyntheticMonitorOutputReference | MonitoringUptimeCheckConfigSyntheticMonitor): any;
export declare function monitoringUptimeCheckConfigSyntheticMonitorToHclTerraform(struct?: MonitoringUptimeCheckConfigSyntheticMonitorOutputReference | MonitoringUptimeCheckConfigSyntheticMonitor): any;
export declare class MonitoringUptimeCheckConfigSyntheticMonitorOutputReference 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(): MonitoringUptimeCheckConfigSyntheticMonitor | undefined;
    set internalValue(value: MonitoringUptimeCheckConfigSyntheticMonitor | undefined);
    private _cloudFunctionV2;
    get cloudFunctionV2(): MonitoringUptimeCheckConfigSyntheticMonitorCloudFunctionV2OutputReference;
    putCloudFunctionV2(value: MonitoringUptimeCheckConfigSyntheticMonitorCloudFunctionV2): void;
    get cloudFunctionV2Input(): MonitoringUptimeCheckConfigSyntheticMonitorCloudFunctionV2 | undefined;
}
export interface MonitoringUptimeCheckConfigTcpCheckPingConfig {
    /**
    * Number of ICMP pings. A maximum of 3 ICMP pings is currently supported.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#pings_count MonitoringUptimeCheckConfig#pings_count}
    */
    readonly pingsCount: number;
}
export declare function monitoringUptimeCheckConfigTcpCheckPingConfigToTerraform(struct?: MonitoringUptimeCheckConfigTcpCheckPingConfigOutputReference | MonitoringUptimeCheckConfigTcpCheckPingConfig): any;
export declare function monitoringUptimeCheckConfigTcpCheckPingConfigToHclTerraform(struct?: MonitoringUptimeCheckConfigTcpCheckPingConfigOutputReference | MonitoringUptimeCheckConfigTcpCheckPingConfig): any;
export declare class MonitoringUptimeCheckConfigTcpCheckPingConfigOutputReference 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(): MonitoringUptimeCheckConfigTcpCheckPingConfig | undefined;
    set internalValue(value: MonitoringUptimeCheckConfigTcpCheckPingConfig | undefined);
    private _pingsCount?;
    get pingsCount(): number;
    set pingsCount(value: number);
    get pingsCountInput(): number | undefined;
}
export interface MonitoringUptimeCheckConfigTcpCheck {
    /**
    * The port to the page to run the check against. Will be combined with host (specified within the 'monitored_resource') to construct the full URL.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#port MonitoringUptimeCheckConfig#port}
    */
    readonly port: number;
    /**
    * ping_config block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#ping_config MonitoringUptimeCheckConfig#ping_config}
    */
    readonly pingConfig?: MonitoringUptimeCheckConfigTcpCheckPingConfig;
}
export declare function monitoringUptimeCheckConfigTcpCheckToTerraform(struct?: MonitoringUptimeCheckConfigTcpCheckOutputReference | MonitoringUptimeCheckConfigTcpCheck): any;
export declare function monitoringUptimeCheckConfigTcpCheckToHclTerraform(struct?: MonitoringUptimeCheckConfigTcpCheckOutputReference | MonitoringUptimeCheckConfigTcpCheck): any;
export declare class MonitoringUptimeCheckConfigTcpCheckOutputReference 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(): MonitoringUptimeCheckConfigTcpCheck | undefined;
    set internalValue(value: MonitoringUptimeCheckConfigTcpCheck | undefined);
    private _port?;
    get port(): number;
    set port(value: number);
    get portInput(): number | undefined;
    private _pingConfig;
    get pingConfig(): MonitoringUptimeCheckConfigTcpCheckPingConfigOutputReference;
    putPingConfig(value: MonitoringUptimeCheckConfigTcpCheckPingConfig): void;
    resetPingConfig(): void;
    get pingConfigInput(): MonitoringUptimeCheckConfigTcpCheckPingConfig | undefined;
}
export interface MonitoringUptimeCheckConfigTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#create MonitoringUptimeCheckConfig#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#delete MonitoringUptimeCheckConfig#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#update MonitoringUptimeCheckConfig#update}
    */
    readonly update?: string;
}
export declare function monitoringUptimeCheckConfigTimeoutsToTerraform(struct?: MonitoringUptimeCheckConfigTimeouts | cdktf.IResolvable): any;
export declare function monitoringUptimeCheckConfigTimeoutsToHclTerraform(struct?: MonitoringUptimeCheckConfigTimeouts | cdktf.IResolvable): any;
export declare class MonitoringUptimeCheckConfigTimeoutsOutputReference 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(): MonitoringUptimeCheckConfigTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: MonitoringUptimeCheckConfigTimeouts | 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/5.43.0/docs/resources/monitoring_uptime_check_config google_monitoring_uptime_check_config}
*/
export declare class MonitoringUptimeCheckConfig extends cdktf.TerraformResource {
    static readonly tfResourceType = "google_monitoring_uptime_check_config";
    /**
    * Generates CDKTF code for importing a MonitoringUptimeCheckConfig 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 MonitoringUptimeCheckConfig to import
    * @param importFromId The id of the existing MonitoringUptimeCheckConfig that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/5.43.0/docs/resources/monitoring_uptime_check_config#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the MonitoringUptimeCheckConfig 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/5.43.0/docs/resources/monitoring_uptime_check_config google_monitoring_uptime_check_config} 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 MonitoringUptimeCheckConfigConfig
    */
    constructor(scope: Construct, id: string, config: MonitoringUptimeCheckConfigConfig);
    private _checkerType?;
    get checkerType(): string;
    set checkerType(value: string);
    resetCheckerType(): void;
    get checkerTypeInput(): string | undefined;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    get displayNameInput(): string | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    get name(): string;
    private _period?;
    get period(): string;
    set period(value: string);
    resetPeriod(): void;
    get periodInput(): string | undefined;
    private _project?;
    get project(): string;
    set project(value: string);
    resetProject(): void;
    get projectInput(): string | undefined;
    private _selectedRegions?;
    get selectedRegions(): string[];
    set selectedRegions(value: string[]);
    resetSelectedRegions(): void;
    get selectedRegionsInput(): string[] | undefined;
    private _timeout?;
    get timeout(): string;
    set timeout(value: string);
    get timeoutInput(): string | undefined;
    get uptimeCheckId(): string;
    private _userLabels?;
    get userLabels(): {
        [key: string]: string;
    };
    set userLabels(value: {
        [key: string]: string;
    });
    resetUserLabels(): void;
    get userLabelsInput(): {
        [key: string]: string;
    } | undefined;
    private _contentMatchers;
    get contentMatchers(): MonitoringUptimeCheckConfigContentMatchersList;
    putContentMatchers(value: MonitoringUptimeCheckConfigContentMatchers[] | cdktf.IResolvable): void;
    resetContentMatchers(): void;
    get contentMatchersInput(): cdktf.IResolvable | MonitoringUptimeCheckConfigContentMatchers[] | undefined;
    private _httpCheck;
    get httpCheck(): MonitoringUptimeCheckConfigHttpCheckOutputReference;
    putHttpCheck(value: MonitoringUptimeCheckConfigHttpCheck): void;
    resetHttpCheck(): void;
    get httpCheckInput(): MonitoringUptimeCheckConfigHttpCheck | undefined;
    private _monitoredResource;
    get monitoredResource(): MonitoringUptimeCheckConfigMonitoredResourceOutputReference;
    putMonitoredResource(value: MonitoringUptimeCheckConfigMonitoredResource): void;
    resetMonitoredResource(): void;
    get monitoredResourceInput(): MonitoringUptimeCheckConfigMonitoredResource | undefined;
    private _resourceGroup;
    get resourceGroup(): MonitoringUptimeCheckConfigResourceGroupOutputReference;
    putResourceGroup(value: MonitoringUptimeCheckConfigResourceGroup): void;
    resetResourceGroup(): void;
    get resourceGroupInput(): MonitoringUptimeCheckConfigResourceGroup | undefined;
    private _syntheticMonitor;
    get syntheticMonitor(): MonitoringUptimeCheckConfigSyntheticMonitorOutputReference;
    putSyntheticMonitor(value: MonitoringUptimeCheckConfigSyntheticMonitor): void;
    resetSyntheticMonitor(): void;
    get syntheticMonitorInput(): MonitoringUptimeCheckConfigSyntheticMonitor | undefined;
    private _tcpCheck;
    get tcpCheck(): MonitoringUptimeCheckConfigTcpCheckOutputReference;
    putTcpCheck(value: MonitoringUptimeCheckConfigTcpCheck): void;
    resetTcpCheck(): void;
    get tcpCheckInput(): MonitoringUptimeCheckConfigTcpCheck | undefined;
    private _timeouts;
    get timeouts(): MonitoringUptimeCheckConfigTimeoutsOutputReference;
    putTimeouts(value: MonitoringUptimeCheckConfigTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | MonitoringUptimeCheckConfigTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
