/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface ManagedDatabaseOpensearchConfig extends cdktf.TerraformMetaArguments {
    /**
    * Enables users access control for OpenSearch service. User access control rules will only be enforced if this attribute is enabled.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#access_control ManagedDatabaseOpensearch#access_control}
    */
    readonly accessControl?: boolean | cdktf.IResolvable;
    /**
    * Grant access to top-level `_mget`, `_msearch` and `_bulk` APIs. Users are limited to perform operations on indices based on the user-specific access control rules.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#extended_access_control ManagedDatabaseOpensearch#extended_access_control}
    */
    readonly extendedAccessControl?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#id ManagedDatabaseOpensearch#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;
    /**
    * User defined key-value pairs to classify the managed database.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#labels ManagedDatabaseOpensearch#labels}
    */
    readonly labels?: {
        [key: string]: string;
    };
    /**
    * Maintenance window day of week. Lower case weekday name (monday, tuesday, ...)
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#maintenance_window_dow ManagedDatabaseOpensearch#maintenance_window_dow}
    */
    readonly maintenanceWindowDow?: string;
    /**
    * Maintenance window UTC time in hh:mm:ss format
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#maintenance_window_time ManagedDatabaseOpensearch#maintenance_window_time}
    */
    readonly maintenanceWindowTime?: string;
    /**
    * Name of the service. The name is used as a prefix for the logical hostname. Must be unique within an account
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#name ManagedDatabaseOpensearch#name}
    */
    readonly name: string;
    /**
    * Service plan to use. This determines how much resources the instance will have. You can list available plans with `upctl database plans <type>`.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#plan ManagedDatabaseOpensearch#plan}
    */
    readonly plan: string;
    /**
    * The administrative power state of the service
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#powered ManagedDatabaseOpensearch#powered}
    */
    readonly powered?: boolean | cdktf.IResolvable;
    /**
    * If set to true, prevents the managed service from being powered off, or deleted.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#termination_protection ManagedDatabaseOpensearch#termination_protection}
    */
    readonly terminationProtection?: boolean | cdktf.IResolvable;
    /**
    * Title of a managed database instance
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#title ManagedDatabaseOpensearch#title}
    */
    readonly title: string;
    /**
    * Zone where the instance resides, e.g. `de-fra1`. You can list available zones with `upctl zone list`.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#zone ManagedDatabaseOpensearch#zone}
    */
    readonly zone: string;
    /**
    * network block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#network ManagedDatabaseOpensearch#network}
    */
    readonly network?: ManagedDatabaseOpensearchNetwork[] | cdktf.IResolvable;
    /**
    * properties block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#properties ManagedDatabaseOpensearch#properties}
    */
    readonly properties?: ManagedDatabaseOpensearchProperties;
}
export interface ManagedDatabaseOpensearchComponents {
}
export declare function managedDatabaseOpensearchComponentsToTerraform(struct?: ManagedDatabaseOpensearchComponents): any;
export declare function managedDatabaseOpensearchComponentsToHclTerraform(struct?: ManagedDatabaseOpensearchComponents): any;
export declare class ManagedDatabaseOpensearchComponentsOutputReference 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(): ManagedDatabaseOpensearchComponents | undefined;
    set internalValue(value: ManagedDatabaseOpensearchComponents | undefined);
    get component(): string;
    get host(): string;
    get port(): number;
    get route(): string;
    get usage(): string;
}
export declare class ManagedDatabaseOpensearchComponentsList 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): ManagedDatabaseOpensearchComponentsOutputReference;
}
export interface ManagedDatabaseOpensearchNodeStates {
}
export declare function managedDatabaseOpensearchNodeStatesToTerraform(struct?: ManagedDatabaseOpensearchNodeStates): any;
export declare function managedDatabaseOpensearchNodeStatesToHclTerraform(struct?: ManagedDatabaseOpensearchNodeStates): any;
export declare class ManagedDatabaseOpensearchNodeStatesOutputReference 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(): ManagedDatabaseOpensearchNodeStates | undefined;
    set internalValue(value: ManagedDatabaseOpensearchNodeStates | undefined);
    get name(): string;
    get role(): string;
    get state(): string;
}
export declare class ManagedDatabaseOpensearchNodeStatesList 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): ManagedDatabaseOpensearchNodeStatesOutputReference;
}
export interface ManagedDatabaseOpensearchNetwork {
    /**
    * Network family. Currently only `IPv4` is supported.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#family ManagedDatabaseOpensearch#family}
    */
    readonly family: string;
    /**
    * The name of the network. Must be unique within the service.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#name ManagedDatabaseOpensearch#name}
    */
    readonly name: string;
    /**
    * The type of the network. Must be private.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#type ManagedDatabaseOpensearch#type}
    */
    readonly type: string;
    /**
    * Private network UUID. Must reside in the same zone as the database.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#uuid ManagedDatabaseOpensearch#uuid}
    */
    readonly uuid: string;
}
export declare function managedDatabaseOpensearchNetworkToTerraform(struct?: ManagedDatabaseOpensearchNetwork | cdktf.IResolvable): any;
export declare function managedDatabaseOpensearchNetworkToHclTerraform(struct?: ManagedDatabaseOpensearchNetwork | cdktf.IResolvable): any;
export declare class ManagedDatabaseOpensearchNetworkOutputReference 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(): ManagedDatabaseOpensearchNetwork | cdktf.IResolvable | undefined;
    set internalValue(value: ManagedDatabaseOpensearchNetwork | cdktf.IResolvable | undefined);
    private _family?;
    get family(): string;
    set family(value: string);
    get familyInput(): string | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _type?;
    get type(): string;
    set type(value: string);
    get typeInput(): string | undefined;
    private _uuid?;
    get uuid(): string;
    set uuid(value: string);
    get uuidInput(): string | undefined;
}
export declare class ManagedDatabaseOpensearchNetworkList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: ManagedDatabaseOpensearchNetwork[] | 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): ManagedDatabaseOpensearchNetworkOutputReference;
}
export interface ManagedDatabaseOpensearchPropertiesAuthFailureListenersInternalAuthenticationBackendLimiting {
    /**
    * The number of login attempts allowed before login is blocked.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#allowed_tries ManagedDatabaseOpensearch#allowed_tries}
    */
    readonly allowedTries?: number;
    /**
    * The internal backend. Enter `internal`.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#authentication_backend ManagedDatabaseOpensearch#authentication_backend}
    */
    readonly authenticationBackend?: string;
    /**
    * The duration of time that login remains blocked after a failed login.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#block_expiry_seconds ManagedDatabaseOpensearch#block_expiry_seconds}
    */
    readonly blockExpirySeconds?: number;
    /**
    * The maximum number of blocked IP addresses.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#max_blocked_clients ManagedDatabaseOpensearch#max_blocked_clients}
    */
    readonly maxBlockedClients?: number;
    /**
    * The maximum number of tracked IP addresses that have failed login.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#max_tracked_clients ManagedDatabaseOpensearch#max_tracked_clients}
    */
    readonly maxTrackedClients?: number;
    /**
    * The window of time in which the value for `allowed_tries` is enforced.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#time_window_seconds ManagedDatabaseOpensearch#time_window_seconds}
    */
    readonly timeWindowSeconds?: number;
    /**
    * The type of rate limiting.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#type ManagedDatabaseOpensearch#type}
    */
    readonly type?: string;
}
export declare function managedDatabaseOpensearchPropertiesAuthFailureListenersInternalAuthenticationBackendLimitingToTerraform(struct?: ManagedDatabaseOpensearchPropertiesAuthFailureListenersInternalAuthenticationBackendLimitingOutputReference | ManagedDatabaseOpensearchPropertiesAuthFailureListenersInternalAuthenticationBackendLimiting): any;
export declare function managedDatabaseOpensearchPropertiesAuthFailureListenersInternalAuthenticationBackendLimitingToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesAuthFailureListenersInternalAuthenticationBackendLimitingOutputReference | ManagedDatabaseOpensearchPropertiesAuthFailureListenersInternalAuthenticationBackendLimiting): any;
export declare class ManagedDatabaseOpensearchPropertiesAuthFailureListenersInternalAuthenticationBackendLimitingOutputReference 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(): ManagedDatabaseOpensearchPropertiesAuthFailureListenersInternalAuthenticationBackendLimiting | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesAuthFailureListenersInternalAuthenticationBackendLimiting | undefined);
    private _allowedTries?;
    get allowedTries(): number;
    set allowedTries(value: number);
    resetAllowedTries(): void;
    get allowedTriesInput(): number | undefined;
    private _authenticationBackend?;
    get authenticationBackend(): string;
    set authenticationBackend(value: string);
    resetAuthenticationBackend(): void;
    get authenticationBackendInput(): string | undefined;
    private _blockExpirySeconds?;
    get blockExpirySeconds(): number;
    set blockExpirySeconds(value: number);
    resetBlockExpirySeconds(): void;
    get blockExpirySecondsInput(): number | undefined;
    private _maxBlockedClients?;
    get maxBlockedClients(): number;
    set maxBlockedClients(value: number);
    resetMaxBlockedClients(): void;
    get maxBlockedClientsInput(): number | undefined;
    private _maxTrackedClients?;
    get maxTrackedClients(): number;
    set maxTrackedClients(value: number);
    resetMaxTrackedClients(): void;
    get maxTrackedClientsInput(): number | undefined;
    private _timeWindowSeconds?;
    get timeWindowSeconds(): number;
    set timeWindowSeconds(value: number);
    resetTimeWindowSeconds(): void;
    get timeWindowSecondsInput(): number | undefined;
    private _type?;
    get type(): string;
    set type(value: string);
    resetType(): void;
    get typeInput(): string | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesAuthFailureListeners {
    /**
    * internal_authentication_backend_limiting block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#internal_authentication_backend_limiting ManagedDatabaseOpensearch#internal_authentication_backend_limiting}
    */
    readonly internalAuthenticationBackendLimiting?: ManagedDatabaseOpensearchPropertiesAuthFailureListenersInternalAuthenticationBackendLimiting;
}
export declare function managedDatabaseOpensearchPropertiesAuthFailureListenersToTerraform(struct?: ManagedDatabaseOpensearchPropertiesAuthFailureListenersOutputReference | ManagedDatabaseOpensearchPropertiesAuthFailureListeners): any;
export declare function managedDatabaseOpensearchPropertiesAuthFailureListenersToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesAuthFailureListenersOutputReference | ManagedDatabaseOpensearchPropertiesAuthFailureListeners): any;
export declare class ManagedDatabaseOpensearchPropertiesAuthFailureListenersOutputReference 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(): ManagedDatabaseOpensearchPropertiesAuthFailureListeners | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesAuthFailureListeners | undefined);
    private _internalAuthenticationBackendLimiting;
    get internalAuthenticationBackendLimiting(): ManagedDatabaseOpensearchPropertiesAuthFailureListenersInternalAuthenticationBackendLimitingOutputReference;
    putInternalAuthenticationBackendLimiting(value: ManagedDatabaseOpensearchPropertiesAuthFailureListenersInternalAuthenticationBackendLimiting): void;
    resetInternalAuthenticationBackendLimiting(): void;
    get internalAuthenticationBackendLimitingInput(): ManagedDatabaseOpensearchPropertiesAuthFailureListenersInternalAuthenticationBackendLimiting | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogThreshold {
    /**
    * Debug threshold for total request took time. The value should be in the form count and unit, where unit one of (s,m,h,d,nanos,ms,micros) or -1. Default is -1.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#debug ManagedDatabaseOpensearch#debug}
    */
    readonly debug?: string;
    /**
    * Info threshold for total request took time. The value should be in the form count and unit, where unit one of (s,m,h,d,nanos,ms,micros) or -1. Default is -1.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#info ManagedDatabaseOpensearch#info}
    */
    readonly info?: string;
    /**
    * Trace threshold for total request took time. The value should be in the form count and unit, where unit one of (s,m,h,d,nanos,ms,micros) or -1. Default is -1.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#trace ManagedDatabaseOpensearch#trace}
    */
    readonly trace?: string;
    /**
    * Warning threshold for total request took time. The value should be in the form count and unit, where unit one of (s,m,h,d,nanos,ms,micros) or -1. Default is -1.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#warn ManagedDatabaseOpensearch#warn}
    */
    readonly warn?: string;
}
export declare function managedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogThresholdToTerraform(struct?: ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogThresholdOutputReference | ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogThreshold): any;
export declare function managedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogThresholdToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogThresholdOutputReference | ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogThreshold): any;
export declare class ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogThresholdOutputReference 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(): ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogThreshold | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogThreshold | undefined);
    private _debug?;
    get debug(): string;
    set debug(value: string);
    resetDebug(): void;
    get debugInput(): string | undefined;
    private _info?;
    get info(): string;
    set info(value: string);
    resetInfo(): void;
    get infoInput(): string | undefined;
    private _trace?;
    get trace(): string;
    set trace(value: string);
    resetTrace(): void;
    get traceInput(): string | undefined;
    private _warn?;
    get warn(): string;
    set warn(value: string);
    resetWarn(): void;
    get warnInput(): string | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlog {
    /**
    * Log level.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#level ManagedDatabaseOpensearch#level}
    */
    readonly level?: string;
    /**
    * threshold block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#threshold ManagedDatabaseOpensearch#threshold}
    */
    readonly threshold?: ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogThreshold;
}
export declare function managedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogToTerraform(struct?: ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogOutputReference | ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlog): any;
export declare function managedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogOutputReference | ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlog): any;
export declare class ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogOutputReference 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(): ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlog | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlog | undefined);
    private _level?;
    get level(): string;
    set level(value: string);
    resetLevel(): void;
    get levelInput(): string | undefined;
    private _threshold;
    get threshold(): ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogThresholdOutputReference;
    putThreshold(value: ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogThreshold): void;
    resetThreshold(): void;
    get thresholdInput(): ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogThreshold | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesDiskWatermarks {
    /**
    * Flood stage watermark (percentage). The flood stage watermark for disk usage.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#flood_stage ManagedDatabaseOpensearch#flood_stage}
    */
    readonly floodStage?: number;
    /**
    * High watermark (percentage). The high watermark for disk usage.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#high ManagedDatabaseOpensearch#high}
    */
    readonly high?: number;
    /**
    * Low watermark (percentage). The low watermark for disk usage.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#low ManagedDatabaseOpensearch#low}
    */
    readonly low?: number;
}
export declare function managedDatabaseOpensearchPropertiesDiskWatermarksToTerraform(struct?: ManagedDatabaseOpensearchPropertiesDiskWatermarksOutputReference | ManagedDatabaseOpensearchPropertiesDiskWatermarks): any;
export declare function managedDatabaseOpensearchPropertiesDiskWatermarksToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesDiskWatermarksOutputReference | ManagedDatabaseOpensearchPropertiesDiskWatermarks): any;
export declare class ManagedDatabaseOpensearchPropertiesDiskWatermarksOutputReference 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(): ManagedDatabaseOpensearchPropertiesDiskWatermarks | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesDiskWatermarks | undefined);
    private _floodStage?;
    get floodStage(): number;
    set floodStage(value: number);
    resetFloodStage(): void;
    get floodStageInput(): number | undefined;
    private _high?;
    get high(): number;
    set high(value: number);
    resetHigh(): void;
    get highInput(): number | undefined;
    private _low?;
    get low(): number;
    set low(value: number);
    resetLow(): void;
    get lowInput(): number | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesIndexRollup {
    /**
    * plugins.rollup.dashboards.enabled. Whether rollups are enabled in OpenSearch Dashboards. Defaults to true.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#rollup_dashboards_enabled ManagedDatabaseOpensearch#rollup_dashboards_enabled}
    */
    readonly rollupDashboardsEnabled?: boolean | cdktf.IResolvable;
    /**
    * plugins.rollup.enabled. Whether the rollup plugin is enabled. Defaults to true.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#rollup_enabled ManagedDatabaseOpensearch#rollup_enabled}
    */
    readonly rollupEnabled?: boolean | cdktf.IResolvable;
    /**
    * plugins.rollup.search.backoff_count. How many retries the plugin should attempt for failed rollup jobs. Defaults to 5.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#rollup_search_backoff_count ManagedDatabaseOpensearch#rollup_search_backoff_count}
    */
    readonly rollupSearchBackoffCount?: number;
    /**
    * plugins.rollup.search.backoff_millis. The backoff time between retries for failed rollup jobs. Defaults to 1000ms.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#rollup_search_backoff_millis ManagedDatabaseOpensearch#rollup_search_backoff_millis}
    */
    readonly rollupSearchBackoffMillis?: number;
    /**
    * plugins.rollup.search.all_jobs. Whether OpenSearch should return all jobs that match all specified search terms. If disabled, OpenSearch returns just one, as opposed to all, of the jobs that matches the search terms. Defaults to false.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#rollup_search_search_all_jobs ManagedDatabaseOpensearch#rollup_search_search_all_jobs}
    */
    readonly rollupSearchSearchAllJobs?: boolean | cdktf.IResolvable;
}
export declare function managedDatabaseOpensearchPropertiesIndexRollupToTerraform(struct?: ManagedDatabaseOpensearchPropertiesIndexRollupOutputReference | ManagedDatabaseOpensearchPropertiesIndexRollup): any;
export declare function managedDatabaseOpensearchPropertiesIndexRollupToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesIndexRollupOutputReference | ManagedDatabaseOpensearchPropertiesIndexRollup): any;
export declare class ManagedDatabaseOpensearchPropertiesIndexRollupOutputReference 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(): ManagedDatabaseOpensearchPropertiesIndexRollup | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesIndexRollup | undefined);
    private _rollupDashboardsEnabled?;
    get rollupDashboardsEnabled(): boolean | cdktf.IResolvable;
    set rollupDashboardsEnabled(value: boolean | cdktf.IResolvable);
    resetRollupDashboardsEnabled(): void;
    get rollupDashboardsEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _rollupEnabled?;
    get rollupEnabled(): boolean | cdktf.IResolvable;
    set rollupEnabled(value: boolean | cdktf.IResolvable);
    resetRollupEnabled(): void;
    get rollupEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _rollupSearchBackoffCount?;
    get rollupSearchBackoffCount(): number;
    set rollupSearchBackoffCount(value: number);
    resetRollupSearchBackoffCount(): void;
    get rollupSearchBackoffCountInput(): number | undefined;
    private _rollupSearchBackoffMillis?;
    get rollupSearchBackoffMillis(): number;
    set rollupSearchBackoffMillis(value: number);
    resetRollupSearchBackoffMillis(): void;
    get rollupSearchBackoffMillisInput(): number | undefined;
    private _rollupSearchSearchAllJobs?;
    get rollupSearchSearchAllJobs(): boolean | cdktf.IResolvable;
    set rollupSearchSearchAllJobs(value: boolean | cdktf.IResolvable);
    resetRollupSearchSearchAllJobs(): void;
    get rollupSearchSearchAllJobsInput(): boolean | cdktf.IResolvable | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesIndexTemplate {
    /**
    * index.mapping.nested_objects.limit. The maximum number of nested JSON objects that a single document can contain across all nested types. This limit helps to prevent out of memory errors when a document contains too many nested objects. Default is 10000.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#mapping_nested_objects_limit ManagedDatabaseOpensearch#mapping_nested_objects_limit}
    */
    readonly mappingNestedObjectsLimit?: number;
    /**
    * The number of replicas each primary shard has.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#number_of_replicas ManagedDatabaseOpensearch#number_of_replicas}
    */
    readonly numberOfReplicas?: number;
    /**
    * The number of primary shards that an index should have.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#number_of_shards ManagedDatabaseOpensearch#number_of_shards}
    */
    readonly numberOfShards?: number;
}
export declare function managedDatabaseOpensearchPropertiesIndexTemplateToTerraform(struct?: ManagedDatabaseOpensearchPropertiesIndexTemplateOutputReference | ManagedDatabaseOpensearchPropertiesIndexTemplate): any;
export declare function managedDatabaseOpensearchPropertiesIndexTemplateToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesIndexTemplateOutputReference | ManagedDatabaseOpensearchPropertiesIndexTemplate): any;
export declare class ManagedDatabaseOpensearchPropertiesIndexTemplateOutputReference 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(): ManagedDatabaseOpensearchPropertiesIndexTemplate | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesIndexTemplate | undefined);
    private _mappingNestedObjectsLimit?;
    get mappingNestedObjectsLimit(): number;
    set mappingNestedObjectsLimit(value: number);
    resetMappingNestedObjectsLimit(): void;
    get mappingNestedObjectsLimitInput(): number | undefined;
    private _numberOfReplicas?;
    get numberOfReplicas(): number;
    set numberOfReplicas(value: number);
    resetNumberOfReplicas(): void;
    get numberOfReplicasInput(): number | undefined;
    private _numberOfShards?;
    get numberOfShards(): number;
    set numberOfShards(value: number);
    resetNumberOfShards(): void;
    get numberOfShardsInput(): number | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesOpenid {
    /**
    * The ID of the OpenID Connect client. The ID of the OpenID Connect client configured in your IdP. Required.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#client_id ManagedDatabaseOpensearch#client_id}
    */
    readonly clientId?: string;
    /**
    * The client secret of the OpenID Connect. The client secret of the OpenID Connect client configured in your IdP. Required.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#client_secret ManagedDatabaseOpensearch#client_secret}
    */
    readonly clientSecret?: string;
    /**
    * OpenID Connect metadata/configuration URL. The URL of your IdP where the Security plugin can find the OpenID Connect metadata/configuration settings.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#connect_url ManagedDatabaseOpensearch#connect_url}
    */
    readonly connectUrl?: string;
    /**
    * Enable or disable OpenSearch OpenID Connect authentication. Enables or disables OpenID Connect authentication for OpenSearch. When enabled, users can authenticate using OpenID Connect with an Identity Provider.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#enabled ManagedDatabaseOpensearch#enabled}
    */
    readonly enabled?: boolean | cdktf.IResolvable;
    /**
    * HTTP header name of the JWT token. HTTP header name of the JWT token. Optional. Default is Authorization.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#header ManagedDatabaseOpensearch#header}
    */
    readonly header?: string;
    /**
    * The HTTP header that stores the token. The HTTP header that stores the token. Typically the Authorization header with the Bearer schema: Authorization: Bearer <token>. Optional. Default is Authorization.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#jwt_header ManagedDatabaseOpensearch#jwt_header}
    */
    readonly jwtHeader?: string;
    /**
    * URL JWT token. If the token is not transmitted in the HTTP header, but as an URL parameter, define the name of the parameter here. Optional.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#jwt_url_parameter ManagedDatabaseOpensearch#jwt_url_parameter}
    */
    readonly jwtUrlParameter?: string;
    /**
    * The maximum number of unknown key IDs in the time frame. The maximum number of unknown key IDs in the time frame. Default is 10. Optional.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#refresh_rate_limit_count ManagedDatabaseOpensearch#refresh_rate_limit_count}
    */
    readonly refreshRateLimitCount?: number;
    /**
    * The time frame to use when checking the maximum number of unknown key IDs, in milliseconds. The time frame to use when checking the maximum number of unknown key IDs, in milliseconds. Optional.Default is 10000 (10 seconds).
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#refresh_rate_limit_time_window_ms ManagedDatabaseOpensearch#refresh_rate_limit_time_window_ms}
    */
    readonly refreshRateLimitTimeWindowMs?: number;
    /**
    * The key in the JSON payload that stores the user’s roles. The key in the JSON payload that stores the user’s roles. The value of this key must be a comma-separated list of roles. Required only if you want to use roles in the JWT.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#roles_key ManagedDatabaseOpensearch#roles_key}
    */
    readonly rolesKey?: string;
    /**
    * The scope of the identity token issued by the IdP. The scope of the identity token issued by the IdP. Optional. Default is openid profile email address phone.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#scope ManagedDatabaseOpensearch#scope}
    */
    readonly scope?: string;
    /**
    * The key in the JSON payload that stores the user’s name. The key in the JSON payload that stores the user’s name. If not defined, the subject registered claim is used. Most IdP providers use the preferred_username claim. Optional.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#subject_key ManagedDatabaseOpensearch#subject_key}
    */
    readonly subjectKey?: string;
}
export declare function managedDatabaseOpensearchPropertiesOpenidToTerraform(struct?: ManagedDatabaseOpensearchPropertiesOpenidOutputReference | ManagedDatabaseOpensearchPropertiesOpenid): any;
export declare function managedDatabaseOpensearchPropertiesOpenidToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesOpenidOutputReference | ManagedDatabaseOpensearchPropertiesOpenid): any;
export declare class ManagedDatabaseOpensearchPropertiesOpenidOutputReference 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(): ManagedDatabaseOpensearchPropertiesOpenid | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesOpenid | undefined);
    private _clientId?;
    get clientId(): string;
    set clientId(value: string);
    resetClientId(): void;
    get clientIdInput(): string | undefined;
    private _clientSecret?;
    get clientSecret(): string;
    set clientSecret(value: string);
    resetClientSecret(): void;
    get clientSecretInput(): string | undefined;
    private _connectUrl?;
    get connectUrl(): string;
    set connectUrl(value: string);
    resetConnectUrl(): void;
    get connectUrlInput(): string | undefined;
    private _enabled?;
    get enabled(): boolean | cdktf.IResolvable;
    set enabled(value: boolean | cdktf.IResolvable);
    resetEnabled(): void;
    get enabledInput(): boolean | cdktf.IResolvable | undefined;
    private _header?;
    get header(): string;
    set header(value: string);
    resetHeader(): void;
    get headerInput(): string | undefined;
    private _jwtHeader?;
    get jwtHeader(): string;
    set jwtHeader(value: string);
    resetJwtHeader(): void;
    get jwtHeaderInput(): string | undefined;
    private _jwtUrlParameter?;
    get jwtUrlParameter(): string;
    set jwtUrlParameter(value: string);
    resetJwtUrlParameter(): void;
    get jwtUrlParameterInput(): string | undefined;
    private _refreshRateLimitCount?;
    get refreshRateLimitCount(): number;
    set refreshRateLimitCount(value: number);
    resetRefreshRateLimitCount(): void;
    get refreshRateLimitCountInput(): number | undefined;
    private _refreshRateLimitTimeWindowMs?;
    get refreshRateLimitTimeWindowMs(): number;
    set refreshRateLimitTimeWindowMs(value: number);
    resetRefreshRateLimitTimeWindowMs(): void;
    get refreshRateLimitTimeWindowMsInput(): number | undefined;
    private _rolesKey?;
    get rolesKey(): string;
    set rolesKey(value: string);
    resetRolesKey(): void;
    get rolesKeyInput(): string | undefined;
    private _scope?;
    get scope(): string;
    set scope(value: string);
    resetScope(): void;
    get scopeInput(): string | undefined;
    private _subjectKey?;
    get subjectKey(): string;
    set subjectKey(value: string);
    resetSubjectKey(): void;
    get subjectKeyInput(): string | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesOpensearchDashboards {
    /**
    * Enable or disable OpenSearch Dashboards.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#enabled ManagedDatabaseOpensearch#enabled}
    */
    readonly enabled?: boolean | cdktf.IResolvable;
    /**
    * Limits the maximum amount of memory (in MiB) the OpenSearch Dashboards process can use. This sets the max_old_space_size option of the nodejs running the OpenSearch Dashboards. Note: the memory reserved by OpenSearch Dashboards is not available for OpenSearch.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#max_old_space_size ManagedDatabaseOpensearch#max_old_space_size}
    */
    readonly maxOldSpaceSize?: number;
    /**
    * Enable or disable multiple data sources in OpenSearch Dashboards.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#multiple_data_source_enabled ManagedDatabaseOpensearch#multiple_data_source_enabled}
    */
    readonly multipleDataSourceEnabled?: boolean | cdktf.IResolvable;
    /**
    * Timeout in milliseconds for requests made by OpenSearch Dashboards towards OpenSearch.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#opensearch_request_timeout ManagedDatabaseOpensearch#opensearch_request_timeout}
    */
    readonly opensearchRequestTimeout?: number;
}
export declare function managedDatabaseOpensearchPropertiesOpensearchDashboardsToTerraform(struct?: ManagedDatabaseOpensearchPropertiesOpensearchDashboardsOutputReference | ManagedDatabaseOpensearchPropertiesOpensearchDashboards): any;
export declare function managedDatabaseOpensearchPropertiesOpensearchDashboardsToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesOpensearchDashboardsOutputReference | ManagedDatabaseOpensearchPropertiesOpensearchDashboards): any;
export declare class ManagedDatabaseOpensearchPropertiesOpensearchDashboardsOutputReference 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(): ManagedDatabaseOpensearchPropertiesOpensearchDashboards | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesOpensearchDashboards | undefined);
    private _enabled?;
    get enabled(): boolean | cdktf.IResolvable;
    set enabled(value: boolean | cdktf.IResolvable);
    resetEnabled(): void;
    get enabledInput(): boolean | cdktf.IResolvable | undefined;
    private _maxOldSpaceSize?;
    get maxOldSpaceSize(): number;
    set maxOldSpaceSize(value: number);
    resetMaxOldSpaceSize(): void;
    get maxOldSpaceSizeInput(): number | undefined;
    private _multipleDataSourceEnabled?;
    get multipleDataSourceEnabled(): boolean | cdktf.IResolvable;
    set multipleDataSourceEnabled(value: boolean | cdktf.IResolvable);
    resetMultipleDataSourceEnabled(): void;
    get multipleDataSourceEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _opensearchRequestTimeout?;
    get opensearchRequestTimeout(): number;
    set opensearchRequestTimeout(value: number);
    resetOpensearchRequestTimeout(): void;
    get opensearchRequestTimeoutInput(): number | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesSaml {
    /**
    * Enable or disable OpenSearch SAML authentication. Enables or disables SAML-based authentication for OpenSearch. When enabled, users can authenticate using SAML with an Identity Provider.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#enabled ManagedDatabaseOpensearch#enabled}
    */
    readonly enabled?: boolean | cdktf.IResolvable;
    /**
    * Identity Provider Entity ID. The unique identifier for the Identity Provider (IdP) entity that is used for SAML authentication. This value is typically provided by the IdP.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#idp_entity_id ManagedDatabaseOpensearch#idp_entity_id}
    */
    readonly idpEntityId?: string;
    /**
    * Identity Provider (IdP) SAML metadata URL. The URL of the SAML metadata for the Identity Provider (IdP). This is used to configure SAML-based authentication with the IdP.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#idp_metadata_url ManagedDatabaseOpensearch#idp_metadata_url}
    */
    readonly idpMetadataUrl?: string;
    /**
    * PEM-encoded root CA Content for SAML IdP server verification. This parameter specifies the PEM-encoded root certificate authority (CA) content for the SAML identity provider (IdP) server verification. The root CA content is used to verify the SSL/TLS certificate presented by the server.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#idp_pemtrustedcas_content ManagedDatabaseOpensearch#idp_pemtrustedcas_content}
    */
    readonly idpPemtrustedcasContent?: string;
    /**
    * SAML response role attribute. Optional. Specifies the attribute in the SAML response where role information is stored, if available. Role attributes are not required for SAML authentication, but can be included in SAML assertions by most Identity Providers (IdPs) to determine user access levels or permissions.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#roles_key ManagedDatabaseOpensearch#roles_key}
    */
    readonly rolesKey?: string;
    /**
    * Service Provider Entity ID. The unique identifier for the Service Provider (SP) entity that is used for SAML authentication. This value is typically provided by the SP.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#sp_entity_id ManagedDatabaseOpensearch#sp_entity_id}
    */
    readonly spEntityId?: string;
    /**
    * SAML response subject attribute. Optional. Specifies the attribute in the SAML response where the subject identifier is stored. If not configured, the NameID attribute is used by default.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#subject_key ManagedDatabaseOpensearch#subject_key}
    */
    readonly subjectKey?: string;
}
export declare function managedDatabaseOpensearchPropertiesSamlToTerraform(struct?: ManagedDatabaseOpensearchPropertiesSamlOutputReference | ManagedDatabaseOpensearchPropertiesSaml): any;
export declare function managedDatabaseOpensearchPropertiesSamlToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesSamlOutputReference | ManagedDatabaseOpensearchPropertiesSaml): any;
export declare class ManagedDatabaseOpensearchPropertiesSamlOutputReference 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(): ManagedDatabaseOpensearchPropertiesSaml | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesSaml | undefined);
    private _enabled?;
    get enabled(): boolean | cdktf.IResolvable;
    set enabled(value: boolean | cdktf.IResolvable);
    resetEnabled(): void;
    get enabledInput(): boolean | cdktf.IResolvable | undefined;
    private _idpEntityId?;
    get idpEntityId(): string;
    set idpEntityId(value: string);
    resetIdpEntityId(): void;
    get idpEntityIdInput(): string | undefined;
    private _idpMetadataUrl?;
    get idpMetadataUrl(): string;
    set idpMetadataUrl(value: string);
    resetIdpMetadataUrl(): void;
    get idpMetadataUrlInput(): string | undefined;
    private _idpPemtrustedcasContent?;
    get idpPemtrustedcasContent(): string;
    set idpPemtrustedcasContent(value: string);
    resetIdpPemtrustedcasContent(): void;
    get idpPemtrustedcasContentInput(): string | undefined;
    private _rolesKey?;
    get rolesKey(): string;
    set rolesKey(value: string);
    resetRolesKey(): void;
    get rolesKeyInput(): string | undefined;
    private _spEntityId?;
    get spEntityId(): string;
    set spEntityId(value: string);
    resetSpEntityId(): void;
    get spEntityIdInput(): string | undefined;
    private _subjectKey?;
    get subjectKey(): string;
    set subjectKey(value: string);
    resetSubjectKey(): void;
    get subjectKeyInput(): string | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesSearchBackpressureNodeDuress {
    /**
    * The CPU usage threshold (as a percentage) required for a node to be considered to be under duress. The CPU usage threshold (as a percentage) required for a node to be considered to be under duress. Default is 0.9.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#cpu_threshold ManagedDatabaseOpensearch#cpu_threshold}
    */
    readonly cpuThreshold?: number;
    /**
    * The heap usage threshold (as a percentage) required for a node to be considered to be under duress. The heap usage threshold (as a percentage) required for a node to be considered to be under duress. Default is 0.7.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#heap_threshold ManagedDatabaseOpensearch#heap_threshold}
    */
    readonly heapThreshold?: number;
    /**
    * The number of successive limit breaches after which the node is considered to be under duress. The number of successive limit breaches after which the node is considered to be under duress. Default is 3.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#num_successive_breaches ManagedDatabaseOpensearch#num_successive_breaches}
    */
    readonly numSuccessiveBreaches?: number;
}
export declare function managedDatabaseOpensearchPropertiesSearchBackpressureNodeDuressToTerraform(struct?: ManagedDatabaseOpensearchPropertiesSearchBackpressureNodeDuressOutputReference | ManagedDatabaseOpensearchPropertiesSearchBackpressureNodeDuress): any;
export declare function managedDatabaseOpensearchPropertiesSearchBackpressureNodeDuressToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesSearchBackpressureNodeDuressOutputReference | ManagedDatabaseOpensearchPropertiesSearchBackpressureNodeDuress): any;
export declare class ManagedDatabaseOpensearchPropertiesSearchBackpressureNodeDuressOutputReference 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(): ManagedDatabaseOpensearchPropertiesSearchBackpressureNodeDuress | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesSearchBackpressureNodeDuress | undefined);
    private _cpuThreshold?;
    get cpuThreshold(): number;
    set cpuThreshold(value: number);
    resetCpuThreshold(): void;
    get cpuThresholdInput(): number | undefined;
    private _heapThreshold?;
    get heapThreshold(): number;
    set heapThreshold(value: number);
    resetHeapThreshold(): void;
    get heapThresholdInput(): number | undefined;
    private _numSuccessiveBreaches?;
    get numSuccessiveBreaches(): number;
    set numSuccessiveBreaches(value: number);
    resetNumSuccessiveBreaches(): void;
    get numSuccessiveBreachesInput(): number | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchShardTask {
    /**
    * The maximum number of search tasks to cancel in a single iteration of the observer thread. The maximum number of search tasks to cancel in a single iteration of the observer thread. Default is 10.0.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#cancellation_burst ManagedDatabaseOpensearch#cancellation_burst}
    */
    readonly cancellationBurst?: number;
    /**
    * The maximum number of tasks to cancel per millisecond of elapsed time. The maximum number of tasks to cancel per millisecond of elapsed time. Default is 0.003.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#cancellation_rate ManagedDatabaseOpensearch#cancellation_rate}
    */
    readonly cancellationRate?: number;
    /**
    * The maximum number of tasks to cancel. The maximum number of tasks to cancel, as a percentage of successful task completions. Default is 0.1.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#cancellation_ratio ManagedDatabaseOpensearch#cancellation_ratio}
    */
    readonly cancellationRatio?: number;
    /**
    * The CPU usage threshold (in milliseconds) required for a single search shard task before it is considered for cancellation. The CPU usage threshold (in milliseconds) required for a single search shard task before it is considered for cancellation. Default is 15000.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#cpu_time_millis_threshold ManagedDatabaseOpensearch#cpu_time_millis_threshold}
    */
    readonly cpuTimeMillisThreshold?: number;
    /**
    * The elapsed time threshold (in milliseconds) required for a single search shard task before it is considered for cancellation. The elapsed time threshold (in milliseconds) required for a single search shard task before it is considered for cancellation. Default is 30000.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#elapsed_time_millis_threshold ManagedDatabaseOpensearch#elapsed_time_millis_threshold}
    */
    readonly elapsedTimeMillisThreshold?: number;
    /**
    * The number of previously completed search shard tasks to consider when calculating the rolling average of heap usage. The number of previously completed search shard tasks to consider when calculating the rolling average of heap usage. Default is 100.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#heap_moving_average_window_size ManagedDatabaseOpensearch#heap_moving_average_window_size}
    */
    readonly heapMovingAverageWindowSize?: number;
    /**
    * The heap usage threshold (as a percentage) required for a single search shard task before it is considered for cancellation. The heap usage threshold (as a percentage) required for a single search shard task before it is considered for cancellation. Default is 0.5.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#heap_percent_threshold ManagedDatabaseOpensearch#heap_percent_threshold}
    */
    readonly heapPercentThreshold?: number;
    /**
    * The minimum variance required for a single search shard task’s heap usage compared to the rolling average of previously completed tasks before it is considered for cancellation. The minimum variance required for a single search shard task’s heap usage compared to the rolling average of previously completed tasks before it is considered for cancellation. Default is 2.0.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#heap_variance ManagedDatabaseOpensearch#heap_variance}
    */
    readonly heapVariance?: number;
    /**
    * The heap usage threshold (as a percentage) required for the sum of heap usages of all search shard tasks before cancellation is applied. The heap usage threshold (as a percentage) required for the sum of heap usages of all search shard tasks before cancellation is applied. Default is 0.5.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#total_heap_percent_threshold ManagedDatabaseOpensearch#total_heap_percent_threshold}
    */
    readonly totalHeapPercentThreshold?: number;
}
export declare function managedDatabaseOpensearchPropertiesSearchBackpressureSearchShardTaskToTerraform(struct?: ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchShardTaskOutputReference | ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchShardTask): any;
export declare function managedDatabaseOpensearchPropertiesSearchBackpressureSearchShardTaskToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchShardTaskOutputReference | ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchShardTask): any;
export declare class ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchShardTaskOutputReference 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(): ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchShardTask | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchShardTask | undefined);
    private _cancellationBurst?;
    get cancellationBurst(): number;
    set cancellationBurst(value: number);
    resetCancellationBurst(): void;
    get cancellationBurstInput(): number | undefined;
    private _cancellationRate?;
    get cancellationRate(): number;
    set cancellationRate(value: number);
    resetCancellationRate(): void;
    get cancellationRateInput(): number | undefined;
    private _cancellationRatio?;
    get cancellationRatio(): number;
    set cancellationRatio(value: number);
    resetCancellationRatio(): void;
    get cancellationRatioInput(): number | undefined;
    private _cpuTimeMillisThreshold?;
    get cpuTimeMillisThreshold(): number;
    set cpuTimeMillisThreshold(value: number);
    resetCpuTimeMillisThreshold(): void;
    get cpuTimeMillisThresholdInput(): number | undefined;
    private _elapsedTimeMillisThreshold?;
    get elapsedTimeMillisThreshold(): number;
    set elapsedTimeMillisThreshold(value: number);
    resetElapsedTimeMillisThreshold(): void;
    get elapsedTimeMillisThresholdInput(): number | undefined;
    private _heapMovingAverageWindowSize?;
    get heapMovingAverageWindowSize(): number;
    set heapMovingAverageWindowSize(value: number);
    resetHeapMovingAverageWindowSize(): void;
    get heapMovingAverageWindowSizeInput(): number | undefined;
    private _heapPercentThreshold?;
    get heapPercentThreshold(): number;
    set heapPercentThreshold(value: number);
    resetHeapPercentThreshold(): void;
    get heapPercentThresholdInput(): number | undefined;
    private _heapVariance?;
    get heapVariance(): number;
    set heapVariance(value: number);
    resetHeapVariance(): void;
    get heapVarianceInput(): number | undefined;
    private _totalHeapPercentThreshold?;
    get totalHeapPercentThreshold(): number;
    set totalHeapPercentThreshold(value: number);
    resetTotalHeapPercentThreshold(): void;
    get totalHeapPercentThresholdInput(): number | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchTask {
    /**
    * The maximum number of search tasks to cancel in a single iteration of the observer thread. The maximum number of search tasks to cancel in a single iteration of the observer thread. Default is 5.0.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#cancellation_burst ManagedDatabaseOpensearch#cancellation_burst}
    */
    readonly cancellationBurst?: number;
    /**
    * The maximum number of search tasks to cancel per millisecond of elapsed time. The maximum number of search tasks to cancel per millisecond of elapsed time. Default is 0.003.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#cancellation_rate ManagedDatabaseOpensearch#cancellation_rate}
    */
    readonly cancellationRate?: number;
    /**
    * The maximum number of search tasks to cancel, as a percentage of successful search task completions. The maximum number of search tasks to cancel, as a percentage of successful search task completions. Default is 0.1.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#cancellation_ratio ManagedDatabaseOpensearch#cancellation_ratio}
    */
    readonly cancellationRatio?: number;
    /**
    * The CPU usage threshold (in milliseconds) required for an individual parent task before it is considered for cancellation. The CPU usage threshold (in milliseconds) required for an individual parent task before it is considered for cancellation. Default is 30000.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#cpu_time_millis_threshold ManagedDatabaseOpensearch#cpu_time_millis_threshold}
    */
    readonly cpuTimeMillisThreshold?: number;
    /**
    * The elapsed time threshold (in milliseconds) required for an individual parent task before it is considered for cancellation. The elapsed time threshold (in milliseconds) required for an individual parent task before it is considered for cancellation. Default is 45000.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#elapsed_time_millis_threshold ManagedDatabaseOpensearch#elapsed_time_millis_threshold}
    */
    readonly elapsedTimeMillisThreshold?: number;
    /**
    * The window size used to calculate the rolling average of the heap usage for the completed parent tasks. The window size used to calculate the rolling average of the heap usage for the completed parent tasks. Default is 10.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#heap_moving_average_window_size ManagedDatabaseOpensearch#heap_moving_average_window_size}
    */
    readonly heapMovingAverageWindowSize?: number;
    /**
    * The heap usage threshold (as a percentage) required for an individual parent task before it is considered for cancellation. The heap usage threshold (as a percentage) required for an individual parent task before it is considered for cancellation. Default is 0.2.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#heap_percent_threshold ManagedDatabaseOpensearch#heap_percent_threshold}
    */
    readonly heapPercentThreshold?: number;
    /**
    * The heap usage variance required for an individual parent task before it is considered for cancellation. The heap usage variance required for an individual parent task before it is considered for cancellation. A task is considered for cancellation when taskHeapUsage is greater than or equal to heapUsageMovingAverage * variance. Default is 2.0.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#heap_variance ManagedDatabaseOpensearch#heap_variance}
    */
    readonly heapVariance?: number;
    /**
    * The heap usage threshold (as a percentage) required for the sum of heap usages of all search tasks before cancellation is applied. The heap usage threshold (as a percentage) required for the sum of heap usages of all search tasks before cancellation is applied. Default is 0.5.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#total_heap_percent_threshold ManagedDatabaseOpensearch#total_heap_percent_threshold}
    */
    readonly totalHeapPercentThreshold?: number;
}
export declare function managedDatabaseOpensearchPropertiesSearchBackpressureSearchTaskToTerraform(struct?: ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchTaskOutputReference | ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchTask): any;
export declare function managedDatabaseOpensearchPropertiesSearchBackpressureSearchTaskToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchTaskOutputReference | ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchTask): any;
export declare class ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchTaskOutputReference 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(): ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchTask | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchTask | undefined);
    private _cancellationBurst?;
    get cancellationBurst(): number;
    set cancellationBurst(value: number);
    resetCancellationBurst(): void;
    get cancellationBurstInput(): number | undefined;
    private _cancellationRate?;
    get cancellationRate(): number;
    set cancellationRate(value: number);
    resetCancellationRate(): void;
    get cancellationRateInput(): number | undefined;
    private _cancellationRatio?;
    get cancellationRatio(): number;
    set cancellationRatio(value: number);
    resetCancellationRatio(): void;
    get cancellationRatioInput(): number | undefined;
    private _cpuTimeMillisThreshold?;
    get cpuTimeMillisThreshold(): number;
    set cpuTimeMillisThreshold(value: number);
    resetCpuTimeMillisThreshold(): void;
    get cpuTimeMillisThresholdInput(): number | undefined;
    private _elapsedTimeMillisThreshold?;
    get elapsedTimeMillisThreshold(): number;
    set elapsedTimeMillisThreshold(value: number);
    resetElapsedTimeMillisThreshold(): void;
    get elapsedTimeMillisThresholdInput(): number | undefined;
    private _heapMovingAverageWindowSize?;
    get heapMovingAverageWindowSize(): number;
    set heapMovingAverageWindowSize(value: number);
    resetHeapMovingAverageWindowSize(): void;
    get heapMovingAverageWindowSizeInput(): number | undefined;
    private _heapPercentThreshold?;
    get heapPercentThreshold(): number;
    set heapPercentThreshold(value: number);
    resetHeapPercentThreshold(): void;
    get heapPercentThresholdInput(): number | undefined;
    private _heapVariance?;
    get heapVariance(): number;
    set heapVariance(value: number);
    resetHeapVariance(): void;
    get heapVarianceInput(): number | undefined;
    private _totalHeapPercentThreshold?;
    get totalHeapPercentThreshold(): number;
    set totalHeapPercentThreshold(value: number);
    resetTotalHeapPercentThreshold(): void;
    get totalHeapPercentThresholdInput(): number | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesSearchBackpressure {
    /**
    * The search backpressure mode. The search backpressure mode. Valid values are monitor_only, enforced, or disabled. Default is monitor_only.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#mode ManagedDatabaseOpensearch#mode}
    */
    readonly mode?: string;
    /**
    * node_duress block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#node_duress ManagedDatabaseOpensearch#node_duress}
    */
    readonly nodeDuress?: ManagedDatabaseOpensearchPropertiesSearchBackpressureNodeDuress;
    /**
    * search_shard_task block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#search_shard_task ManagedDatabaseOpensearch#search_shard_task}
    */
    readonly searchShardTask?: ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchShardTask;
    /**
    * search_task block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#search_task ManagedDatabaseOpensearch#search_task}
    */
    readonly searchTask?: ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchTask;
}
export declare function managedDatabaseOpensearchPropertiesSearchBackpressureToTerraform(struct?: ManagedDatabaseOpensearchPropertiesSearchBackpressureOutputReference | ManagedDatabaseOpensearchPropertiesSearchBackpressure): any;
export declare function managedDatabaseOpensearchPropertiesSearchBackpressureToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesSearchBackpressureOutputReference | ManagedDatabaseOpensearchPropertiesSearchBackpressure): any;
export declare class ManagedDatabaseOpensearchPropertiesSearchBackpressureOutputReference 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(): ManagedDatabaseOpensearchPropertiesSearchBackpressure | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesSearchBackpressure | undefined);
    private _mode?;
    get mode(): string;
    set mode(value: string);
    resetMode(): void;
    get modeInput(): string | undefined;
    private _nodeDuress;
    get nodeDuress(): ManagedDatabaseOpensearchPropertiesSearchBackpressureNodeDuressOutputReference;
    putNodeDuress(value: ManagedDatabaseOpensearchPropertiesSearchBackpressureNodeDuress): void;
    resetNodeDuress(): void;
    get nodeDuressInput(): ManagedDatabaseOpensearchPropertiesSearchBackpressureNodeDuress | undefined;
    private _searchShardTask;
    get searchShardTask(): ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchShardTaskOutputReference;
    putSearchShardTask(value: ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchShardTask): void;
    resetSearchShardTask(): void;
    get searchShardTaskInput(): ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchShardTask | undefined;
    private _searchTask;
    get searchTask(): ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchTaskOutputReference;
    putSearchTask(value: ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchTask): void;
    resetSearchTask(): void;
    get searchTaskInput(): ManagedDatabaseOpensearchPropertiesSearchBackpressureSearchTask | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesCpu {
    /**
    * Enable or disable top N query monitoring by the metric. Enable or disable top N query monitoring by the metric.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#enabled ManagedDatabaseOpensearch#enabled}
    */
    readonly enabled?: boolean | cdktf.IResolvable;
    /**
    * Specify the value of N for the top N queries by the metric.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#top_n_size ManagedDatabaseOpensearch#top_n_size}
    */
    readonly topNSize?: number;
    /**
    * The window size of the top N queries by the metric. Configure the window size of the top N queries.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#window_size ManagedDatabaseOpensearch#window_size}
    */
    readonly windowSize?: string;
}
export declare function managedDatabaseOpensearchPropertiesSearchInsightsTopQueriesCpuToTerraform(struct?: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesCpuOutputReference | ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesCpu): any;
export declare function managedDatabaseOpensearchPropertiesSearchInsightsTopQueriesCpuToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesCpuOutputReference | ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesCpu): any;
export declare class ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesCpuOutputReference 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(): ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesCpu | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesCpu | undefined);
    private _enabled?;
    get enabled(): boolean | cdktf.IResolvable;
    set enabled(value: boolean | cdktf.IResolvable);
    resetEnabled(): void;
    get enabledInput(): boolean | cdktf.IResolvable | undefined;
    private _topNSize?;
    get topNSize(): number;
    set topNSize(value: number);
    resetTopNSize(): void;
    get topNSizeInput(): number | undefined;
    private _windowSize?;
    get windowSize(): string;
    set windowSize(value: string);
    resetWindowSize(): void;
    get windowSizeInput(): string | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesLatency {
    /**
    * Enable or disable top N query monitoring by the metric. Enable or disable top N query monitoring by the metric.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#enabled ManagedDatabaseOpensearch#enabled}
    */
    readonly enabled?: boolean | cdktf.IResolvable;
    /**
    * Specify the value of N for the top N queries by the metric.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#top_n_size ManagedDatabaseOpensearch#top_n_size}
    */
    readonly topNSize?: number;
    /**
    * The window size of the top N queries by the metric. Configure the window size of the top N queries.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#window_size ManagedDatabaseOpensearch#window_size}
    */
    readonly windowSize?: string;
}
export declare function managedDatabaseOpensearchPropertiesSearchInsightsTopQueriesLatencyToTerraform(struct?: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesLatencyOutputReference | ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesLatency): any;
export declare function managedDatabaseOpensearchPropertiesSearchInsightsTopQueriesLatencyToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesLatencyOutputReference | ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesLatency): any;
export declare class ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesLatencyOutputReference 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(): ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesLatency | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesLatency | undefined);
    private _enabled?;
    get enabled(): boolean | cdktf.IResolvable;
    set enabled(value: boolean | cdktf.IResolvable);
    resetEnabled(): void;
    get enabledInput(): boolean | cdktf.IResolvable | undefined;
    private _topNSize?;
    get topNSize(): number;
    set topNSize(value: number);
    resetTopNSize(): void;
    get topNSizeInput(): number | undefined;
    private _windowSize?;
    get windowSize(): string;
    set windowSize(value: string);
    resetWindowSize(): void;
    get windowSizeInput(): string | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesMemory {
    /**
    * Enable or disable top N query monitoring by the metric. Enable or disable top N query monitoring by the metric.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#enabled ManagedDatabaseOpensearch#enabled}
    */
    readonly enabled?: boolean | cdktf.IResolvable;
    /**
    * Specify the value of N for the top N queries by the metric.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#top_n_size ManagedDatabaseOpensearch#top_n_size}
    */
    readonly topNSize?: number;
    /**
    * The window size of the top N queries by the metric. Configure the window size of the top N queries.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#window_size ManagedDatabaseOpensearch#window_size}
    */
    readonly windowSize?: string;
}
export declare function managedDatabaseOpensearchPropertiesSearchInsightsTopQueriesMemoryToTerraform(struct?: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesMemoryOutputReference | ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesMemory): any;
export declare function managedDatabaseOpensearchPropertiesSearchInsightsTopQueriesMemoryToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesMemoryOutputReference | ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesMemory): any;
export declare class ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesMemoryOutputReference 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(): ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesMemory | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesMemory | undefined);
    private _enabled?;
    get enabled(): boolean | cdktf.IResolvable;
    set enabled(value: boolean | cdktf.IResolvable);
    resetEnabled(): void;
    get enabledInput(): boolean | cdktf.IResolvable | undefined;
    private _topNSize?;
    get topNSize(): number;
    set topNSize(value: number);
    resetTopNSize(): void;
    get topNSizeInput(): number | undefined;
    private _windowSize?;
    get windowSize(): string;
    set windowSize(value: string);
    resetWindowSize(): void;
    get windowSizeInput(): string | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueries {
    /**
    * cpu block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#cpu ManagedDatabaseOpensearch#cpu}
    */
    readonly cpu?: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesCpu;
    /**
    * latency block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#latency ManagedDatabaseOpensearch#latency}
    */
    readonly latency?: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesLatency;
    /**
    * memory block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#memory ManagedDatabaseOpensearch#memory}
    */
    readonly memory?: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesMemory;
}
export declare function managedDatabaseOpensearchPropertiesSearchInsightsTopQueriesToTerraform(struct?: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesOutputReference | ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueries): any;
export declare function managedDatabaseOpensearchPropertiesSearchInsightsTopQueriesToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesOutputReference | ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueries): any;
export declare class ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesOutputReference 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(): ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueries | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueries | undefined);
    private _cpu;
    get cpu(): ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesCpuOutputReference;
    putCpu(value: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesCpu): void;
    resetCpu(): void;
    get cpuInput(): ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesCpu | undefined;
    private _latency;
    get latency(): ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesLatencyOutputReference;
    putLatency(value: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesLatency): void;
    resetLatency(): void;
    get latencyInput(): ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesLatency | undefined;
    private _memory;
    get memory(): ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesMemoryOutputReference;
    putMemory(value: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesMemory): void;
    resetMemory(): void;
    get memoryInput(): ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesMemory | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesSegrep {
    /**
    * The maximum number of indexing checkpoints that a replica shard can fall behind when copying from primary. Once `segrep.pressure.checkpoint.limit` is breached along with `segrep.pressure.time.limit`, the segment replication backpressure mechanism is initiated. Default is 4 checkpoints.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#pressure_checkpoint_limit ManagedDatabaseOpensearch#pressure_checkpoint_limit}
    */
    readonly pressureCheckpointLimit?: number;
    /**
    * Enables the segment replication backpressure mechanism. Default is false.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#pressure_enabled ManagedDatabaseOpensearch#pressure_enabled}
    */
    readonly pressureEnabled?: boolean | cdktf.IResolvable;
    /**
    * The maximum number of stale replica shards that can exist in a replication group. Once `segrep.pressure.replica.stale.limit` is breached, the segment replication backpressure mechanism is initiated. Default is .5, which is 50% of a replication group.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#pressure_replica_stale_limit ManagedDatabaseOpensearch#pressure_replica_stale_limit}
    */
    readonly pressureReplicaStaleLimit?: number;
    /**
    * The maximum amount of time that a replica shard can take to copy from the primary shard. Once segrep.pressure.time.limit is breached along with segrep.pressure.checkpoint.limit, the segment replication backpressure mechanism is initiated. Default is 5 minutes.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#pressure_time_limit ManagedDatabaseOpensearch#pressure_time_limit}
    */
    readonly pressureTimeLimit?: string;
}
export declare function managedDatabaseOpensearchPropertiesSegrepToTerraform(struct?: ManagedDatabaseOpensearchPropertiesSegrepOutputReference | ManagedDatabaseOpensearchPropertiesSegrep): any;
export declare function managedDatabaseOpensearchPropertiesSegrepToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesSegrepOutputReference | ManagedDatabaseOpensearchPropertiesSegrep): any;
export declare class ManagedDatabaseOpensearchPropertiesSegrepOutputReference 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(): ManagedDatabaseOpensearchPropertiesSegrep | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesSegrep | undefined);
    private _pressureCheckpointLimit?;
    get pressureCheckpointLimit(): number;
    set pressureCheckpointLimit(value: number);
    resetPressureCheckpointLimit(): void;
    get pressureCheckpointLimitInput(): number | undefined;
    private _pressureEnabled?;
    get pressureEnabled(): boolean | cdktf.IResolvable;
    set pressureEnabled(value: boolean | cdktf.IResolvable);
    resetPressureEnabled(): void;
    get pressureEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _pressureReplicaStaleLimit?;
    get pressureReplicaStaleLimit(): number;
    set pressureReplicaStaleLimit(value: number);
    resetPressureReplicaStaleLimit(): void;
    get pressureReplicaStaleLimitInput(): number | undefined;
    private _pressureTimeLimit?;
    get pressureTimeLimit(): string;
    set pressureTimeLimit(value: string);
    resetPressureTimeLimit(): void;
    get pressureTimeLimitInput(): string | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesShardIndexingPressureOperatingFactor {
    /**
    * Lower occupancy limit of the allocated quota of memory for the shard. Specify the lower occupancy limit of the allocated quota of memory for the shard.
    *                     If the total memory usage of a shard is below this limit,
    *                     shard indexing backpressure decreases the current allocated memory for that shard.
    *                     Default is 0.75.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#lower ManagedDatabaseOpensearch#lower}
    */
    readonly lower?: number;
    /**
    * Optimal occupancy of the allocated quota of memory for the shard. Specify the optimal occupancy of the allocated quota of memory for the shard.
    *                     If the total memory usage of a shard is at this level,
    *                     shard indexing backpressure doesn’t change the current allocated memory for that shard.
    *                     Default is 0.85.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#optimal ManagedDatabaseOpensearch#optimal}
    */
    readonly optimal?: number;
    /**
    * Upper occupancy limit of the allocated quota of memory for the shard. Specify the upper occupancy limit of the allocated quota of memory for the shard.
    *                     If the total memory usage of a shard is above this limit,
    *                     shard indexing backpressure increases the current allocated memory for that shard.
    *                     Default is 0.95.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#upper ManagedDatabaseOpensearch#upper}
    */
    readonly upper?: number;
}
export declare function managedDatabaseOpensearchPropertiesShardIndexingPressureOperatingFactorToTerraform(struct?: ManagedDatabaseOpensearchPropertiesShardIndexingPressureOperatingFactorOutputReference | ManagedDatabaseOpensearchPropertiesShardIndexingPressureOperatingFactor): any;
export declare function managedDatabaseOpensearchPropertiesShardIndexingPressureOperatingFactorToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesShardIndexingPressureOperatingFactorOutputReference | ManagedDatabaseOpensearchPropertiesShardIndexingPressureOperatingFactor): any;
export declare class ManagedDatabaseOpensearchPropertiesShardIndexingPressureOperatingFactorOutputReference 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(): ManagedDatabaseOpensearchPropertiesShardIndexingPressureOperatingFactor | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesShardIndexingPressureOperatingFactor | undefined);
    private _lower?;
    get lower(): number;
    set lower(value: number);
    resetLower(): void;
    get lowerInput(): number | undefined;
    private _optimal?;
    get optimal(): number;
    set optimal(value: number);
    resetOptimal(): void;
    get optimalInput(): number | undefined;
    private _upper?;
    get upper(): number;
    set upper(value: number);
    resetUpper(): void;
    get upperInput(): number | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterNode {
    /**
    * Node soft limit. Define the percentage of the node-level memory
    *                             threshold that acts as a soft indicator for strain on a node.
    *                             Default is 0.7.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#soft_limit ManagedDatabaseOpensearch#soft_limit}
    */
    readonly softLimit?: number;
}
export declare function managedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterNodeToTerraform(struct?: ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterNodeOutputReference | ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterNode): any;
export declare function managedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterNodeToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterNodeOutputReference | ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterNode): any;
export declare class ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterNodeOutputReference 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(): ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterNode | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterNode | undefined);
    private _softLimit?;
    get softLimit(): number;
    set softLimit(value: number);
    resetSoftLimit(): void;
    get softLimitInput(): number | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterShard {
    /**
    * Shard min limit. Specify the minimum assigned quota for a new shard in any role (coordinator, primary, or replica).
    *                             Shard indexing backpressure increases or decreases this allocated quota based on the inflow of traffic for the shard.
    *                             Default is 0.001.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#min_limit ManagedDatabaseOpensearch#min_limit}
    */
    readonly minLimit?: number;
}
export declare function managedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterShardToTerraform(struct?: ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterShardOutputReference | ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterShard): any;
export declare function managedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterShardToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterShardOutputReference | ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterShard): any;
export declare class ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterShardOutputReference 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(): ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterShard | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterShard | undefined);
    private _minLimit?;
    get minLimit(): number;
    set minLimit(value: number);
    resetMinLimit(): void;
    get minLimitInput(): number | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameter {
    /**
    * node block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#node ManagedDatabaseOpensearch#node}
    */
    readonly nodeAttribute?: ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterNode;
    /**
    * shard block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#shard ManagedDatabaseOpensearch#shard}
    */
    readonly shard?: ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterShard;
}
export declare function managedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterToTerraform(struct?: ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterOutputReference | ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameter): any;
export declare function managedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterOutputReference | ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameter): any;
export declare class ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterOutputReference 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(): ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameter | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameter | undefined);
    private _node;
    get nodeAttribute(): ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterNodeOutputReference;
    putNodeAttribute(value: ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterNode): void;
    resetNodeAttribute(): void;
    get nodeAttributeInput(): ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterNode | undefined;
    private _shard;
    get shard(): ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterShardOutputReference;
    putShard(value: ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterShard): void;
    resetShard(): void;
    get shardInput(): ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterShard | undefined;
}
export interface ManagedDatabaseOpensearchPropertiesShardIndexingPressure {
    /**
    * Enable or disable shard indexing backpressure. Enable or disable shard indexing backpressure. Default is false.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#enabled ManagedDatabaseOpensearch#enabled}
    */
    readonly enabled?: boolean | cdktf.IResolvable;
    /**
    * Run shard indexing backpressure in shadow mode or enforced mode. Run shard indexing backpressure in shadow mode or enforced mode.
    *             In shadow mode (value set as false), shard indexing backpressure tracks all granular-level metrics,
    *             but it doesn’t actually reject any indexing requests.
    *             In enforced mode (value set as true),
    *             shard indexing backpressure rejects any requests to the cluster that might cause a dip in its performance.
    *             Default is false.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#enforced ManagedDatabaseOpensearch#enforced}
    */
    readonly enforced?: boolean | cdktf.IResolvable;
    /**
    * operating_factor block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#operating_factor ManagedDatabaseOpensearch#operating_factor}
    */
    readonly operatingFactor?: ManagedDatabaseOpensearchPropertiesShardIndexingPressureOperatingFactor;
    /**
    * primary_parameter block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#primary_parameter ManagedDatabaseOpensearch#primary_parameter}
    */
    readonly primaryParameter?: ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameter;
}
export declare function managedDatabaseOpensearchPropertiesShardIndexingPressureToTerraform(struct?: ManagedDatabaseOpensearchPropertiesShardIndexingPressureOutputReference | ManagedDatabaseOpensearchPropertiesShardIndexingPressure): any;
export declare function managedDatabaseOpensearchPropertiesShardIndexingPressureToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesShardIndexingPressureOutputReference | ManagedDatabaseOpensearchPropertiesShardIndexingPressure): any;
export declare class ManagedDatabaseOpensearchPropertiesShardIndexingPressureOutputReference 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(): ManagedDatabaseOpensearchPropertiesShardIndexingPressure | undefined;
    set internalValue(value: ManagedDatabaseOpensearchPropertiesShardIndexingPressure | undefined);
    private _enabled?;
    get enabled(): boolean | cdktf.IResolvable;
    set enabled(value: boolean | cdktf.IResolvable);
    resetEnabled(): void;
    get enabledInput(): boolean | cdktf.IResolvable | undefined;
    private _enforced?;
    get enforced(): boolean | cdktf.IResolvable;
    set enforced(value: boolean | cdktf.IResolvable);
    resetEnforced(): void;
    get enforcedInput(): boolean | cdktf.IResolvable | undefined;
    private _operatingFactor;
    get operatingFactor(): ManagedDatabaseOpensearchPropertiesShardIndexingPressureOperatingFactorOutputReference;
    putOperatingFactor(value: ManagedDatabaseOpensearchPropertiesShardIndexingPressureOperatingFactor): void;
    resetOperatingFactor(): void;
    get operatingFactorInput(): ManagedDatabaseOpensearchPropertiesShardIndexingPressureOperatingFactor | undefined;
    private _primaryParameter;
    get primaryParameter(): ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameterOutputReference;
    putPrimaryParameter(value: ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameter): void;
    resetPrimaryParameter(): void;
    get primaryParameterInput(): ManagedDatabaseOpensearchPropertiesShardIndexingPressurePrimaryParameter | undefined;
}
export interface ManagedDatabaseOpensearchProperties {
    /**
    * action.auto_create_index. Explicitly allow or block automatic creation of indices. Defaults to true.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#action_auto_create_index_enabled ManagedDatabaseOpensearch#action_auto_create_index_enabled}
    */
    readonly actionAutoCreateIndexEnabled?: boolean | cdktf.IResolvable;
    /**
    * Require explicit index names when deleting.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#action_destructive_requires_name ManagedDatabaseOpensearch#action_destructive_requires_name}
    */
    readonly actionDestructiveRequiresName?: boolean | cdktf.IResolvable;
    /**
    * Automatic utility network IP Filter. Automatically allow connections from servers in the utility network within the same zone.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#automatic_utility_network_ip_filter ManagedDatabaseOpensearch#automatic_utility_network_ip_filter}
    */
    readonly automaticUtilityNetworkIpFilter?: boolean | cdktf.IResolvable;
    /**
    * Controls the number of shards allowed in the cluster per data node.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#cluster_max_shards_per_node ManagedDatabaseOpensearch#cluster_max_shards_per_node}
    */
    readonly clusterMaxShardsPerNode?: number;
    /**
    * When set to true, OpenSearch attempts to evenly distribute the primary shards between the cluster nodes. Enabling this setting does not always guarantee an equal number of primary shards on each node, especially in the event of a failover. Changing this setting to false after it was set to true does not invoke redistribution of primary shards. Default is false.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#cluster_routing_allocation_balance_prefer_primary ManagedDatabaseOpensearch#cluster_routing_allocation_balance_prefer_primary}
    */
    readonly clusterRoutingAllocationBalancePreferPrimary?: boolean | cdktf.IResolvable;
    /**
    * Concurrent incoming/outgoing shard recoveries per node. How many concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen on a node. Defaults to node cpu count * 2.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#cluster_routing_allocation_node_concurrent_recoveries ManagedDatabaseOpensearch#cluster_routing_allocation_node_concurrent_recoveries}
    */
    readonly clusterRoutingAllocationNodeConcurrentRecoveries?: number;
    /**
    * Custom domain. Serve the web frontend using a custom CNAME pointing to the Aiven DNS name.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#custom_domain ManagedDatabaseOpensearch#custom_domain}
    */
    readonly customDomain?: string;
    /**
    * Elasticsearch major version.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#elasticsearch_version ManagedDatabaseOpensearch#elasticsearch_version}
    */
    readonly elasticsearchVersion?: string;
    /**
    * Sender name placeholder to be used in Opensearch Dashboards and Opensearch keystore. This should be identical to the Sender name defined in Opensearch dashboards.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#email_sender_name ManagedDatabaseOpensearch#email_sender_name}
    */
    readonly emailSenderName?: string;
    /**
    * Sender password for Opensearch alerts to authenticate with SMTP server. Sender password for Opensearch alerts to authenticate with SMTP server.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#email_sender_password ManagedDatabaseOpensearch#email_sender_password}
    */
    readonly emailSenderPassword?: string;
    /**
    * Sender username for Opensearch alerts.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#email_sender_username ManagedDatabaseOpensearch#email_sender_username}
    */
    readonly emailSenderUsername?: string;
    /**
    * Enable remote-backed storage.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#enable_remote_backed_storage ManagedDatabaseOpensearch#enable_remote_backed_storage}
    */
    readonly enableRemoteBackedStorage?: boolean | cdktf.IResolvable;
    /**
    * Enable/Disable security audit.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#enable_security_audit ManagedDatabaseOpensearch#enable_security_audit}
    */
    readonly enableSecurityAudit?: boolean | cdktf.IResolvable;
    /**
    * Maximum content length for HTTP requests to the OpenSearch HTTP API, in bytes.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#http_max_content_length ManagedDatabaseOpensearch#http_max_content_length}
    */
    readonly httpMaxContentLength?: number;
    /**
    * The max size of allowed headers, in bytes.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#http_max_header_size ManagedDatabaseOpensearch#http_max_header_size}
    */
    readonly httpMaxHeaderSize?: number;
    /**
    * The max length of an HTTP URL, in bytes.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#http_max_initial_line_length ManagedDatabaseOpensearch#http_max_initial_line_length}
    */
    readonly httpMaxInitialLineLength?: number;
    /**
    * Index patterns.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#index_patterns ManagedDatabaseOpensearch#index_patterns}
    */
    readonly indexPatterns?: string[];
    /**
    * Relative amount. Maximum amount of heap memory used for field data cache. This is an expert setting; decreasing the value too much will increase overhead of loading field data; too much memory used for field data cache will decrease amount of heap available for other operations.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#indices_fielddata_cache_size ManagedDatabaseOpensearch#indices_fielddata_cache_size}
    */
    readonly indicesFielddataCacheSize?: number;
    /**
    * Percentage value. Default is 10%. Total amount of heap used for indexing buffer, before writing segments to disk. This is an expert setting. Too low value will slow down indexing; too high value will increase indexing performance but causes performance issues for query performance.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#indices_memory_index_buffer_size ManagedDatabaseOpensearch#indices_memory_index_buffer_size}
    */
    readonly indicesMemoryIndexBufferSize?: number;
    /**
    * Absolute value. Default is unbound. Doesn't work without indices.memory.index_buffer_size. Maximum amount of heap used for query cache, an absolute indices.memory.index_buffer_size maximum hard limit.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#indices_memory_max_index_buffer_size ManagedDatabaseOpensearch#indices_memory_max_index_buffer_size}
    */
    readonly indicesMemoryMaxIndexBufferSize?: number;
    /**
    * Absolute value. Default is 48mb. Doesn't work without indices.memory.index_buffer_size. Minimum amount of heap used for query cache, an absolute indices.memory.index_buffer_size minimal hard limit.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#indices_memory_min_index_buffer_size ManagedDatabaseOpensearch#indices_memory_min_index_buffer_size}
    */
    readonly indicesMemoryMinIndexBufferSize?: number;
    /**
    * Percentage value. Default is 10%. Maximum amount of heap used for query cache. This is an expert setting. Too low value will decrease query performance and increase performance for other operations; too high value will cause issues with other OpenSearch functionality.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#indices_queries_cache_size ManagedDatabaseOpensearch#indices_queries_cache_size}
    */
    readonly indicesQueriesCacheSize?: number;
    /**
    * Maximum number of clauses Lucene BooleanQuery can have. The default value (1024) is relatively high, and increasing it may cause performance issues. Investigate other approaches first before increasing this value.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#indices_query_bool_max_clause_count ManagedDatabaseOpensearch#indices_query_bool_max_clause_count}
    */
    readonly indicesQueryBoolMaxClauseCount?: number;
    /**
    * Limits total inbound and outbound recovery traffic for each node. Applies to both peer recoveries as well as snapshot recoveries (i.e., restores from a snapshot). Defaults to 40mb.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#indices_recovery_max_bytes_per_sec ManagedDatabaseOpensearch#indices_recovery_max_bytes_per_sec}
    */
    readonly indicesRecoveryMaxBytesPerSec?: number;
    /**
    * Number of file chunks sent in parallel for each recovery. Defaults to 2.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#indices_recovery_max_concurrent_file_chunks ManagedDatabaseOpensearch#indices_recovery_max_concurrent_file_chunks}
    */
    readonly indicesRecoveryMaxConcurrentFileChunks?: number;
    /**
    * IP filter. Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#ip_filter ManagedDatabaseOpensearch#ip_filter}
    */
    readonly ipFilter?: string[];
    /**
    * Specifies whether ISM is enabled or not.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#ism_enabled ManagedDatabaseOpensearch#ism_enabled}
    */
    readonly ismEnabled?: boolean | cdktf.IResolvable;
    /**
    * Specifies whether audit history is enabled or not. The logs from ISM are automatically indexed to a logs document.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#ism_history_enabled ManagedDatabaseOpensearch#ism_history_enabled}
    */
    readonly ismHistoryEnabled?: boolean | cdktf.IResolvable;
    /**
    * The maximum age before rolling over the audit history index in hours.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#ism_history_max_age ManagedDatabaseOpensearch#ism_history_max_age}
    */
    readonly ismHistoryMaxAge?: number;
    /**
    * The maximum number of documents before rolling over the audit history index.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#ism_history_max_docs ManagedDatabaseOpensearch#ism_history_max_docs}
    */
    readonly ismHistoryMaxDocs?: number;
    /**
    * The time between rollover checks for the audit history index in hours.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#ism_history_rollover_check_period ManagedDatabaseOpensearch#ism_history_rollover_check_period}
    */
    readonly ismHistoryRolloverCheckPeriod?: number;
    /**
    * How long audit history indices are kept in days.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#ism_history_rollover_retention_period ManagedDatabaseOpensearch#ism_history_rollover_retention_period}
    */
    readonly ismHistoryRolloverRetentionPeriod?: number;
    /**
    * Don't reset index.refresh_interval to the default value. Aiven automation resets index.refresh_interval to default value for every index to be sure that indices are always visible to search. If it doesn't fit your case, you can disable this by setting up this flag to true.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#keep_index_refresh_interval ManagedDatabaseOpensearch#keep_index_refresh_interval}
    */
    readonly keepIndexRefreshInterval?: boolean | cdktf.IResolvable;
    /**
    * Enable or disable KNN memory circuit breaker. Defaults to true.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#knn_memory_circuit_breaker_enabled ManagedDatabaseOpensearch#knn_memory_circuit_breaker_enabled}
    */
    readonly knnMemoryCircuitBreakerEnabled?: boolean | cdktf.IResolvable;
    /**
    * Maximum amount of memory that can be used for KNN index. Defaults to 50% of the JVM heap size.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#knn_memory_circuit_breaker_limit ManagedDatabaseOpensearch#knn_memory_circuit_breaker_limit}
    */
    readonly knnMemoryCircuitBreakerLimit?: number;
    /**
    * Compatibility mode sets OpenSearch to report its version as 7.10 so clients continue to work. Default is false.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#override_main_response_version ManagedDatabaseOpensearch#override_main_response_version}
    */
    readonly overrideMainResponseVersion?: boolean | cdktf.IResolvable;
    /**
    * Enable or disable filtering of alerting by backend roles. Requires Security plugin. Defaults to false.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#plugins_alerting_filter_by_backend_roles ManagedDatabaseOpensearch#plugins_alerting_filter_by_backend_roles}
    */
    readonly pluginsAlertingFilterByBackendRoles?: boolean | cdktf.IResolvable;
    /**
    * Public Access. Allow access to the service from the public Internet.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#public_access ManagedDatabaseOpensearch#public_access}
    */
    readonly publicAccess?: boolean | cdktf.IResolvable;
    /**
    * Whitelisted addresses for reindexing. Changing this value will cause all OpenSearch instances to restart.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#reindex_remote_whitelist ManagedDatabaseOpensearch#reindex_remote_whitelist}
    */
    readonly reindexRemoteWhitelist?: string[];
    /**
    * Script max compilation rate - circuit breaker to prevent/minimize OOMs. Script compilation circuit breaker limits the number of inline script compilations within a period of time. Default is use-context.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#script_max_compilations_rate ManagedDatabaseOpensearch#script_max_compilations_rate}
    */
    readonly scriptMaxCompilationsRate?: string;
    /**
    * Maximum number of aggregation buckets allowed in a single response. OpenSearch default value is used when this is not defined.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#search_max_buckets ManagedDatabaseOpensearch#search_max_buckets}
    */
    readonly searchMaxBuckets?: number;
    /**
    * Service logging. Store logs for the service so that they are available in the HTTP API and console.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#service_log ManagedDatabaseOpensearch#service_log}
    */
    readonly serviceLog?: boolean | cdktf.IResolvable;
    /**
    * analyze thread pool queue size. Size for the thread pool queue. See documentation for exact details.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#thread_pool_analyze_queue_size ManagedDatabaseOpensearch#thread_pool_analyze_queue_size}
    */
    readonly threadPoolAnalyzeQueueSize?: number;
    /**
    * analyze thread pool size. Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#thread_pool_analyze_size ManagedDatabaseOpensearch#thread_pool_analyze_size}
    */
    readonly threadPoolAnalyzeSize?: number;
    /**
    * force_merge thread pool size. Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#thread_pool_force_merge_size ManagedDatabaseOpensearch#thread_pool_force_merge_size}
    */
    readonly threadPoolForceMergeSize?: number;
    /**
    * get thread pool queue size. Size for the thread pool queue. See documentation for exact details.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#thread_pool_get_queue_size ManagedDatabaseOpensearch#thread_pool_get_queue_size}
    */
    readonly threadPoolGetQueueSize?: number;
    /**
    * get thread pool size. Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#thread_pool_get_size ManagedDatabaseOpensearch#thread_pool_get_size}
    */
    readonly threadPoolGetSize?: number;
    /**
    * search thread pool queue size. Size for the thread pool queue. See documentation for exact details.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#thread_pool_search_queue_size ManagedDatabaseOpensearch#thread_pool_search_queue_size}
    */
    readonly threadPoolSearchQueueSize?: number;
    /**
    * search thread pool size. Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#thread_pool_search_size ManagedDatabaseOpensearch#thread_pool_search_size}
    */
    readonly threadPoolSearchSize?: number;
    /**
    * search_throttled thread pool queue size. Size for the thread pool queue. See documentation for exact details.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#thread_pool_search_throttled_queue_size ManagedDatabaseOpensearch#thread_pool_search_throttled_queue_size}
    */
    readonly threadPoolSearchThrottledQueueSize?: number;
    /**
    * search_throttled thread pool size. Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#thread_pool_search_throttled_size ManagedDatabaseOpensearch#thread_pool_search_throttled_size}
    */
    readonly threadPoolSearchThrottledSize?: number;
    /**
    * write thread pool queue size. Size for the thread pool queue. See documentation for exact details.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#thread_pool_write_queue_size ManagedDatabaseOpensearch#thread_pool_write_queue_size}
    */
    readonly threadPoolWriteQueueSize?: number;
    /**
    * write thread pool size. Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#thread_pool_write_size ManagedDatabaseOpensearch#thread_pool_write_size}
    */
    readonly threadPoolWriteSize?: number;
    /**
    * OpenSearch major version.
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#version ManagedDatabaseOpensearch#version}
    */
    readonly version?: string;
    /**
    * auth_failure_listeners block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#auth_failure_listeners ManagedDatabaseOpensearch#auth_failure_listeners}
    */
    readonly authFailureListeners?: ManagedDatabaseOpensearchPropertiesAuthFailureListeners;
    /**
    * cluster_search_request_slowlog block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#cluster_search_request_slowlog ManagedDatabaseOpensearch#cluster_search_request_slowlog}
    */
    readonly clusterSearchRequestSlowlog?: ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlog;
    /**
    * disk_watermarks block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#disk_watermarks ManagedDatabaseOpensearch#disk_watermarks}
    */
    readonly diskWatermarks?: ManagedDatabaseOpensearchPropertiesDiskWatermarks;
    /**
    * index_rollup block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#index_rollup ManagedDatabaseOpensearch#index_rollup}
    */
    readonly indexRollup?: ManagedDatabaseOpensearchPropertiesIndexRollup;
    /**
    * index_template block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#index_template ManagedDatabaseOpensearch#index_template}
    */
    readonly indexTemplate?: ManagedDatabaseOpensearchPropertiesIndexTemplate;
    /**
    * openid block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#openid ManagedDatabaseOpensearch#openid}
    */
    readonly openid?: ManagedDatabaseOpensearchPropertiesOpenid;
    /**
    * opensearch_dashboards block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#opensearch_dashboards ManagedDatabaseOpensearch#opensearch_dashboards}
    */
    readonly opensearchDashboards?: ManagedDatabaseOpensearchPropertiesOpensearchDashboards;
    /**
    * saml block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#saml ManagedDatabaseOpensearch#saml}
    */
    readonly saml?: ManagedDatabaseOpensearchPropertiesSaml;
    /**
    * search_backpressure block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#search_backpressure ManagedDatabaseOpensearch#search_backpressure}
    */
    readonly searchBackpressure?: ManagedDatabaseOpensearchPropertiesSearchBackpressure;
    /**
    * search_insights_top_queries block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#search_insights_top_queries ManagedDatabaseOpensearch#search_insights_top_queries}
    */
    readonly searchInsightsTopQueries?: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueries;
    /**
    * segrep block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#segrep ManagedDatabaseOpensearch#segrep}
    */
    readonly segrep?: ManagedDatabaseOpensearchPropertiesSegrep;
    /**
    * shard_indexing_pressure block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#shard_indexing_pressure ManagedDatabaseOpensearch#shard_indexing_pressure}
    */
    readonly shardIndexingPressure?: ManagedDatabaseOpensearchPropertiesShardIndexingPressure;
}
export declare function managedDatabaseOpensearchPropertiesToTerraform(struct?: ManagedDatabaseOpensearchPropertiesOutputReference | ManagedDatabaseOpensearchProperties): any;
export declare function managedDatabaseOpensearchPropertiesToHclTerraform(struct?: ManagedDatabaseOpensearchPropertiesOutputReference | ManagedDatabaseOpensearchProperties): any;
export declare class ManagedDatabaseOpensearchPropertiesOutputReference 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(): ManagedDatabaseOpensearchProperties | undefined;
    set internalValue(value: ManagedDatabaseOpensearchProperties | undefined);
    private _actionAutoCreateIndexEnabled?;
    get actionAutoCreateIndexEnabled(): boolean | cdktf.IResolvable;
    set actionAutoCreateIndexEnabled(value: boolean | cdktf.IResolvable);
    resetActionAutoCreateIndexEnabled(): void;
    get actionAutoCreateIndexEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _actionDestructiveRequiresName?;
    get actionDestructiveRequiresName(): boolean | cdktf.IResolvable;
    set actionDestructiveRequiresName(value: boolean | cdktf.IResolvable);
    resetActionDestructiveRequiresName(): void;
    get actionDestructiveRequiresNameInput(): boolean | cdktf.IResolvable | undefined;
    private _automaticUtilityNetworkIpFilter?;
    get automaticUtilityNetworkIpFilter(): boolean | cdktf.IResolvable;
    set automaticUtilityNetworkIpFilter(value: boolean | cdktf.IResolvable);
    resetAutomaticUtilityNetworkIpFilter(): void;
    get automaticUtilityNetworkIpFilterInput(): boolean | cdktf.IResolvable | undefined;
    private _clusterMaxShardsPerNode?;
    get clusterMaxShardsPerNode(): number;
    set clusterMaxShardsPerNode(value: number);
    resetClusterMaxShardsPerNode(): void;
    get clusterMaxShardsPerNodeInput(): number | undefined;
    private _clusterRoutingAllocationBalancePreferPrimary?;
    get clusterRoutingAllocationBalancePreferPrimary(): boolean | cdktf.IResolvable;
    set clusterRoutingAllocationBalancePreferPrimary(value: boolean | cdktf.IResolvable);
    resetClusterRoutingAllocationBalancePreferPrimary(): void;
    get clusterRoutingAllocationBalancePreferPrimaryInput(): boolean | cdktf.IResolvable | undefined;
    private _clusterRoutingAllocationNodeConcurrentRecoveries?;
    get clusterRoutingAllocationNodeConcurrentRecoveries(): number;
    set clusterRoutingAllocationNodeConcurrentRecoveries(value: number);
    resetClusterRoutingAllocationNodeConcurrentRecoveries(): void;
    get clusterRoutingAllocationNodeConcurrentRecoveriesInput(): number | undefined;
    private _customDomain?;
    get customDomain(): string;
    set customDomain(value: string);
    resetCustomDomain(): void;
    get customDomainInput(): string | undefined;
    private _elasticsearchVersion?;
    get elasticsearchVersion(): string;
    set elasticsearchVersion(value: string);
    resetElasticsearchVersion(): void;
    get elasticsearchVersionInput(): string | undefined;
    private _emailSenderName?;
    get emailSenderName(): string;
    set emailSenderName(value: string);
    resetEmailSenderName(): void;
    get emailSenderNameInput(): string | undefined;
    private _emailSenderPassword?;
    get emailSenderPassword(): string;
    set emailSenderPassword(value: string);
    resetEmailSenderPassword(): void;
    get emailSenderPasswordInput(): string | undefined;
    private _emailSenderUsername?;
    get emailSenderUsername(): string;
    set emailSenderUsername(value: string);
    resetEmailSenderUsername(): void;
    get emailSenderUsernameInput(): string | undefined;
    private _enableRemoteBackedStorage?;
    get enableRemoteBackedStorage(): boolean | cdktf.IResolvable;
    set enableRemoteBackedStorage(value: boolean | cdktf.IResolvable);
    resetEnableRemoteBackedStorage(): void;
    get enableRemoteBackedStorageInput(): boolean | cdktf.IResolvable | undefined;
    private _enableSecurityAudit?;
    get enableSecurityAudit(): boolean | cdktf.IResolvable;
    set enableSecurityAudit(value: boolean | cdktf.IResolvable);
    resetEnableSecurityAudit(): void;
    get enableSecurityAuditInput(): boolean | cdktf.IResolvable | undefined;
    private _httpMaxContentLength?;
    get httpMaxContentLength(): number;
    set httpMaxContentLength(value: number);
    resetHttpMaxContentLength(): void;
    get httpMaxContentLengthInput(): number | undefined;
    private _httpMaxHeaderSize?;
    get httpMaxHeaderSize(): number;
    set httpMaxHeaderSize(value: number);
    resetHttpMaxHeaderSize(): void;
    get httpMaxHeaderSizeInput(): number | undefined;
    private _httpMaxInitialLineLength?;
    get httpMaxInitialLineLength(): number;
    set httpMaxInitialLineLength(value: number);
    resetHttpMaxInitialLineLength(): void;
    get httpMaxInitialLineLengthInput(): number | undefined;
    private _indexPatterns?;
    get indexPatterns(): string[];
    set indexPatterns(value: string[]);
    resetIndexPatterns(): void;
    get indexPatternsInput(): string[] | undefined;
    private _indicesFielddataCacheSize?;
    get indicesFielddataCacheSize(): number;
    set indicesFielddataCacheSize(value: number);
    resetIndicesFielddataCacheSize(): void;
    get indicesFielddataCacheSizeInput(): number | undefined;
    private _indicesMemoryIndexBufferSize?;
    get indicesMemoryIndexBufferSize(): number;
    set indicesMemoryIndexBufferSize(value: number);
    resetIndicesMemoryIndexBufferSize(): void;
    get indicesMemoryIndexBufferSizeInput(): number | undefined;
    private _indicesMemoryMaxIndexBufferSize?;
    get indicesMemoryMaxIndexBufferSize(): number;
    set indicesMemoryMaxIndexBufferSize(value: number);
    resetIndicesMemoryMaxIndexBufferSize(): void;
    get indicesMemoryMaxIndexBufferSizeInput(): number | undefined;
    private _indicesMemoryMinIndexBufferSize?;
    get indicesMemoryMinIndexBufferSize(): number;
    set indicesMemoryMinIndexBufferSize(value: number);
    resetIndicesMemoryMinIndexBufferSize(): void;
    get indicesMemoryMinIndexBufferSizeInput(): number | undefined;
    private _indicesQueriesCacheSize?;
    get indicesQueriesCacheSize(): number;
    set indicesQueriesCacheSize(value: number);
    resetIndicesQueriesCacheSize(): void;
    get indicesQueriesCacheSizeInput(): number | undefined;
    private _indicesQueryBoolMaxClauseCount?;
    get indicesQueryBoolMaxClauseCount(): number;
    set indicesQueryBoolMaxClauseCount(value: number);
    resetIndicesQueryBoolMaxClauseCount(): void;
    get indicesQueryBoolMaxClauseCountInput(): number | undefined;
    private _indicesRecoveryMaxBytesPerSec?;
    get indicesRecoveryMaxBytesPerSec(): number;
    set indicesRecoveryMaxBytesPerSec(value: number);
    resetIndicesRecoveryMaxBytesPerSec(): void;
    get indicesRecoveryMaxBytesPerSecInput(): number | undefined;
    private _indicesRecoveryMaxConcurrentFileChunks?;
    get indicesRecoveryMaxConcurrentFileChunks(): number;
    set indicesRecoveryMaxConcurrentFileChunks(value: number);
    resetIndicesRecoveryMaxConcurrentFileChunks(): void;
    get indicesRecoveryMaxConcurrentFileChunksInput(): number | undefined;
    private _ipFilter?;
    get ipFilter(): string[];
    set ipFilter(value: string[]);
    resetIpFilter(): void;
    get ipFilterInput(): string[] | undefined;
    private _ismEnabled?;
    get ismEnabled(): boolean | cdktf.IResolvable;
    set ismEnabled(value: boolean | cdktf.IResolvable);
    resetIsmEnabled(): void;
    get ismEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _ismHistoryEnabled?;
    get ismHistoryEnabled(): boolean | cdktf.IResolvable;
    set ismHistoryEnabled(value: boolean | cdktf.IResolvable);
    resetIsmHistoryEnabled(): void;
    get ismHistoryEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _ismHistoryMaxAge?;
    get ismHistoryMaxAge(): number;
    set ismHistoryMaxAge(value: number);
    resetIsmHistoryMaxAge(): void;
    get ismHistoryMaxAgeInput(): number | undefined;
    private _ismHistoryMaxDocs?;
    get ismHistoryMaxDocs(): number;
    set ismHistoryMaxDocs(value: number);
    resetIsmHistoryMaxDocs(): void;
    get ismHistoryMaxDocsInput(): number | undefined;
    private _ismHistoryRolloverCheckPeriod?;
    get ismHistoryRolloverCheckPeriod(): number;
    set ismHistoryRolloverCheckPeriod(value: number);
    resetIsmHistoryRolloverCheckPeriod(): void;
    get ismHistoryRolloverCheckPeriodInput(): number | undefined;
    private _ismHistoryRolloverRetentionPeriod?;
    get ismHistoryRolloverRetentionPeriod(): number;
    set ismHistoryRolloverRetentionPeriod(value: number);
    resetIsmHistoryRolloverRetentionPeriod(): void;
    get ismHistoryRolloverRetentionPeriodInput(): number | undefined;
    private _keepIndexRefreshInterval?;
    get keepIndexRefreshInterval(): boolean | cdktf.IResolvable;
    set keepIndexRefreshInterval(value: boolean | cdktf.IResolvable);
    resetKeepIndexRefreshInterval(): void;
    get keepIndexRefreshIntervalInput(): boolean | cdktf.IResolvable | undefined;
    private _knnMemoryCircuitBreakerEnabled?;
    get knnMemoryCircuitBreakerEnabled(): boolean | cdktf.IResolvable;
    set knnMemoryCircuitBreakerEnabled(value: boolean | cdktf.IResolvable);
    resetKnnMemoryCircuitBreakerEnabled(): void;
    get knnMemoryCircuitBreakerEnabledInput(): boolean | cdktf.IResolvable | undefined;
    private _knnMemoryCircuitBreakerLimit?;
    get knnMemoryCircuitBreakerLimit(): number;
    set knnMemoryCircuitBreakerLimit(value: number);
    resetKnnMemoryCircuitBreakerLimit(): void;
    get knnMemoryCircuitBreakerLimitInput(): number | undefined;
    private _overrideMainResponseVersion?;
    get overrideMainResponseVersion(): boolean | cdktf.IResolvable;
    set overrideMainResponseVersion(value: boolean | cdktf.IResolvable);
    resetOverrideMainResponseVersion(): void;
    get overrideMainResponseVersionInput(): boolean | cdktf.IResolvable | undefined;
    private _pluginsAlertingFilterByBackendRoles?;
    get pluginsAlertingFilterByBackendRoles(): boolean | cdktf.IResolvable;
    set pluginsAlertingFilterByBackendRoles(value: boolean | cdktf.IResolvable);
    resetPluginsAlertingFilterByBackendRoles(): void;
    get pluginsAlertingFilterByBackendRolesInput(): boolean | cdktf.IResolvable | undefined;
    private _publicAccess?;
    get publicAccess(): boolean | cdktf.IResolvable;
    set publicAccess(value: boolean | cdktf.IResolvable);
    resetPublicAccess(): void;
    get publicAccessInput(): boolean | cdktf.IResolvable | undefined;
    private _reindexRemoteWhitelist?;
    get reindexRemoteWhitelist(): string[];
    set reindexRemoteWhitelist(value: string[]);
    resetReindexRemoteWhitelist(): void;
    get reindexRemoteWhitelistInput(): string[] | undefined;
    private _scriptMaxCompilationsRate?;
    get scriptMaxCompilationsRate(): string;
    set scriptMaxCompilationsRate(value: string);
    resetScriptMaxCompilationsRate(): void;
    get scriptMaxCompilationsRateInput(): string | undefined;
    private _searchMaxBuckets?;
    get searchMaxBuckets(): number;
    set searchMaxBuckets(value: number);
    resetSearchMaxBuckets(): void;
    get searchMaxBucketsInput(): number | undefined;
    private _serviceLog?;
    get serviceLog(): boolean | cdktf.IResolvable;
    set serviceLog(value: boolean | cdktf.IResolvable);
    resetServiceLog(): void;
    get serviceLogInput(): boolean | cdktf.IResolvable | undefined;
    private _threadPoolAnalyzeQueueSize?;
    get threadPoolAnalyzeQueueSize(): number;
    set threadPoolAnalyzeQueueSize(value: number);
    resetThreadPoolAnalyzeQueueSize(): void;
    get threadPoolAnalyzeQueueSizeInput(): number | undefined;
    private _threadPoolAnalyzeSize?;
    get threadPoolAnalyzeSize(): number;
    set threadPoolAnalyzeSize(value: number);
    resetThreadPoolAnalyzeSize(): void;
    get threadPoolAnalyzeSizeInput(): number | undefined;
    private _threadPoolForceMergeSize?;
    get threadPoolForceMergeSize(): number;
    set threadPoolForceMergeSize(value: number);
    resetThreadPoolForceMergeSize(): void;
    get threadPoolForceMergeSizeInput(): number | undefined;
    private _threadPoolGetQueueSize?;
    get threadPoolGetQueueSize(): number;
    set threadPoolGetQueueSize(value: number);
    resetThreadPoolGetQueueSize(): void;
    get threadPoolGetQueueSizeInput(): number | undefined;
    private _threadPoolGetSize?;
    get threadPoolGetSize(): number;
    set threadPoolGetSize(value: number);
    resetThreadPoolGetSize(): void;
    get threadPoolGetSizeInput(): number | undefined;
    private _threadPoolSearchQueueSize?;
    get threadPoolSearchQueueSize(): number;
    set threadPoolSearchQueueSize(value: number);
    resetThreadPoolSearchQueueSize(): void;
    get threadPoolSearchQueueSizeInput(): number | undefined;
    private _threadPoolSearchSize?;
    get threadPoolSearchSize(): number;
    set threadPoolSearchSize(value: number);
    resetThreadPoolSearchSize(): void;
    get threadPoolSearchSizeInput(): number | undefined;
    private _threadPoolSearchThrottledQueueSize?;
    get threadPoolSearchThrottledQueueSize(): number;
    set threadPoolSearchThrottledQueueSize(value: number);
    resetThreadPoolSearchThrottledQueueSize(): void;
    get threadPoolSearchThrottledQueueSizeInput(): number | undefined;
    private _threadPoolSearchThrottledSize?;
    get threadPoolSearchThrottledSize(): number;
    set threadPoolSearchThrottledSize(value: number);
    resetThreadPoolSearchThrottledSize(): void;
    get threadPoolSearchThrottledSizeInput(): number | undefined;
    private _threadPoolWriteQueueSize?;
    get threadPoolWriteQueueSize(): number;
    set threadPoolWriteQueueSize(value: number);
    resetThreadPoolWriteQueueSize(): void;
    get threadPoolWriteQueueSizeInput(): number | undefined;
    private _threadPoolWriteSize?;
    get threadPoolWriteSize(): number;
    set threadPoolWriteSize(value: number);
    resetThreadPoolWriteSize(): void;
    get threadPoolWriteSizeInput(): number | undefined;
    private _version?;
    get version(): string;
    set version(value: string);
    resetVersion(): void;
    get versionInput(): string | undefined;
    private _authFailureListeners;
    get authFailureListeners(): ManagedDatabaseOpensearchPropertiesAuthFailureListenersOutputReference;
    putAuthFailureListeners(value: ManagedDatabaseOpensearchPropertiesAuthFailureListeners): void;
    resetAuthFailureListeners(): void;
    get authFailureListenersInput(): ManagedDatabaseOpensearchPropertiesAuthFailureListeners | undefined;
    private _clusterSearchRequestSlowlog;
    get clusterSearchRequestSlowlog(): ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlogOutputReference;
    putClusterSearchRequestSlowlog(value: ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlog): void;
    resetClusterSearchRequestSlowlog(): void;
    get clusterSearchRequestSlowlogInput(): ManagedDatabaseOpensearchPropertiesClusterSearchRequestSlowlog | undefined;
    private _diskWatermarks;
    get diskWatermarks(): ManagedDatabaseOpensearchPropertiesDiskWatermarksOutputReference;
    putDiskWatermarks(value: ManagedDatabaseOpensearchPropertiesDiskWatermarks): void;
    resetDiskWatermarks(): void;
    get diskWatermarksInput(): ManagedDatabaseOpensearchPropertiesDiskWatermarks | undefined;
    private _indexRollup;
    get indexRollup(): ManagedDatabaseOpensearchPropertiesIndexRollupOutputReference;
    putIndexRollup(value: ManagedDatabaseOpensearchPropertiesIndexRollup): void;
    resetIndexRollup(): void;
    get indexRollupInput(): ManagedDatabaseOpensearchPropertiesIndexRollup | undefined;
    private _indexTemplate;
    get indexTemplate(): ManagedDatabaseOpensearchPropertiesIndexTemplateOutputReference;
    putIndexTemplate(value: ManagedDatabaseOpensearchPropertiesIndexTemplate): void;
    resetIndexTemplate(): void;
    get indexTemplateInput(): ManagedDatabaseOpensearchPropertiesIndexTemplate | undefined;
    private _openid;
    get openid(): ManagedDatabaseOpensearchPropertiesOpenidOutputReference;
    putOpenid(value: ManagedDatabaseOpensearchPropertiesOpenid): void;
    resetOpenid(): void;
    get openidInput(): ManagedDatabaseOpensearchPropertiesOpenid | undefined;
    private _opensearchDashboards;
    get opensearchDashboards(): ManagedDatabaseOpensearchPropertiesOpensearchDashboardsOutputReference;
    putOpensearchDashboards(value: ManagedDatabaseOpensearchPropertiesOpensearchDashboards): void;
    resetOpensearchDashboards(): void;
    get opensearchDashboardsInput(): ManagedDatabaseOpensearchPropertiesOpensearchDashboards | undefined;
    private _saml;
    get saml(): ManagedDatabaseOpensearchPropertiesSamlOutputReference;
    putSaml(value: ManagedDatabaseOpensearchPropertiesSaml): void;
    resetSaml(): void;
    get samlInput(): ManagedDatabaseOpensearchPropertiesSaml | undefined;
    private _searchBackpressure;
    get searchBackpressure(): ManagedDatabaseOpensearchPropertiesSearchBackpressureOutputReference;
    putSearchBackpressure(value: ManagedDatabaseOpensearchPropertiesSearchBackpressure): void;
    resetSearchBackpressure(): void;
    get searchBackpressureInput(): ManagedDatabaseOpensearchPropertiesSearchBackpressure | undefined;
    private _searchInsightsTopQueries;
    get searchInsightsTopQueries(): ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueriesOutputReference;
    putSearchInsightsTopQueries(value: ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueries): void;
    resetSearchInsightsTopQueries(): void;
    get searchInsightsTopQueriesInput(): ManagedDatabaseOpensearchPropertiesSearchInsightsTopQueries | undefined;
    private _segrep;
    get segrep(): ManagedDatabaseOpensearchPropertiesSegrepOutputReference;
    putSegrep(value: ManagedDatabaseOpensearchPropertiesSegrep): void;
    resetSegrep(): void;
    get segrepInput(): ManagedDatabaseOpensearchPropertiesSegrep | undefined;
    private _shardIndexingPressure;
    get shardIndexingPressure(): ManagedDatabaseOpensearchPropertiesShardIndexingPressureOutputReference;
    putShardIndexingPressure(value: ManagedDatabaseOpensearchPropertiesShardIndexingPressure): void;
    resetShardIndexingPressure(): void;
    get shardIndexingPressureInput(): ManagedDatabaseOpensearchPropertiesShardIndexingPressure | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch upcloud_managed_database_opensearch}
*/
export declare class ManagedDatabaseOpensearch extends cdktf.TerraformResource {
    static readonly tfResourceType = "upcloud_managed_database_opensearch";
    /**
    * Generates CDKTF code for importing a ManagedDatabaseOpensearch 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 ManagedDatabaseOpensearch to import
    * @param importFromId The id of the existing ManagedDatabaseOpensearch that should be imported. Refer to the {@link https://registry.terraform.io/providers/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the ManagedDatabaseOpensearch 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/upcloudltd/upcloud/5.20.5/docs/resources/managed_database_opensearch upcloud_managed_database_opensearch} 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 ManagedDatabaseOpensearchConfig
    */
    constructor(scope: Construct, id: string, config: ManagedDatabaseOpensearchConfig);
    private _accessControl?;
    get accessControl(): boolean | cdktf.IResolvable;
    set accessControl(value: boolean | cdktf.IResolvable);
    resetAccessControl(): void;
    get accessControlInput(): boolean | cdktf.IResolvable | undefined;
    private _components;
    get components(): ManagedDatabaseOpensearchComponentsList;
    private _extendedAccessControl?;
    get extendedAccessControl(): boolean | cdktf.IResolvable;
    set extendedAccessControl(value: boolean | cdktf.IResolvable);
    resetExtendedAccessControl(): void;
    get extendedAccessControlInput(): boolean | cdktf.IResolvable | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    private _labels?;
    get labels(): {
        [key: string]: string;
    };
    set labels(value: {
        [key: string]: string;
    });
    resetLabels(): void;
    get labelsInput(): {
        [key: string]: string;
    } | undefined;
    private _maintenanceWindowDow?;
    get maintenanceWindowDow(): string;
    set maintenanceWindowDow(value: string);
    resetMaintenanceWindowDow(): void;
    get maintenanceWindowDowInput(): string | undefined;
    private _maintenanceWindowTime?;
    get maintenanceWindowTime(): string;
    set maintenanceWindowTime(value: string);
    resetMaintenanceWindowTime(): void;
    get maintenanceWindowTimeInput(): string | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _nodeStates;
    get nodeStates(): ManagedDatabaseOpensearchNodeStatesList;
    private _plan?;
    get plan(): string;
    set plan(value: string);
    get planInput(): string | undefined;
    private _powered?;
    get powered(): boolean | cdktf.IResolvable;
    set powered(value: boolean | cdktf.IResolvable);
    resetPowered(): void;
    get poweredInput(): boolean | cdktf.IResolvable | undefined;
    get primaryDatabase(): string;
    get serviceHost(): string;
    get servicePassword(): string;
    get servicePort(): string;
    get serviceUri(): string;
    get serviceUsername(): string;
    get state(): string;
    private _terminationProtection?;
    get terminationProtection(): boolean | cdktf.IResolvable;
    set terminationProtection(value: boolean | cdktf.IResolvable);
    resetTerminationProtection(): void;
    get terminationProtectionInput(): boolean | cdktf.IResolvable | undefined;
    private _title?;
    get title(): string;
    set title(value: string);
    get titleInput(): string | undefined;
    get type(): string;
    private _zone?;
    get zone(): string;
    set zone(value: string);
    get zoneInput(): string | undefined;
    private _network;
    get network(): ManagedDatabaseOpensearchNetworkList;
    putNetwork(value: ManagedDatabaseOpensearchNetwork[] | cdktf.IResolvable): void;
    resetNetwork(): void;
    get networkInput(): cdktf.IResolvable | ManagedDatabaseOpensearchNetwork[] | undefined;
    private _properties;
    get properties(): ManagedDatabaseOpensearchPropertiesOutputReference;
    putProperties(value: ManagedDatabaseOpensearchProperties): void;
    resetProperties(): void;
    get propertiesInput(): ManagedDatabaseOpensearchProperties | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
