import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface SchServiceConnectorConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#compartment_id SchServiceConnector#compartment_id}
    */
    readonly compartmentId: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#defined_tags SchServiceConnector#defined_tags}
    */
    readonly definedTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#description SchServiceConnector#description}
    */
    readonly description?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#display_name SchServiceConnector#display_name}
    */
    readonly displayName: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#freeform_tags SchServiceConnector#freeform_tags}
    */
    readonly freeformTags?: {
        [key: string]: string;
    };
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#id SchServiceConnector#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;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#state SchServiceConnector#state}
    */
    readonly state?: string;
    /**
    * source block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#source SchServiceConnector#source}
    */
    readonly source: SchServiceConnectorSource;
    /**
    * target block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#target SchServiceConnector#target}
    */
    readonly target: SchServiceConnectorTarget;
    /**
    * tasks block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#tasks SchServiceConnector#tasks}
    */
    readonly tasks?: SchServiceConnectorTasks[] | cdktf.IResolvable;
    /**
    * timeouts block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#timeouts SchServiceConnector#timeouts}
    */
    readonly timeouts?: SchServiceConnectorTimeouts;
}
export interface SchServiceConnectorSourceCursor {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#kind SchServiceConnector#kind}
    */
    readonly kind?: string;
}
export declare function schServiceConnectorSourceCursorToTerraform(struct?: SchServiceConnectorSourceCursorOutputReference | SchServiceConnectorSourceCursor): any;
export declare function schServiceConnectorSourceCursorToHclTerraform(struct?: SchServiceConnectorSourceCursorOutputReference | SchServiceConnectorSourceCursor): any;
export declare class SchServiceConnectorSourceCursorOutputReference 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(): SchServiceConnectorSourceCursor | undefined;
    set internalValue(value: SchServiceConnectorSourceCursor | undefined);
    private _kind?;
    get kind(): string;
    set kind(value: string);
    resetKind(): void;
    get kindInput(): string | undefined;
}
export interface SchServiceConnectorSourceLogSources {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#compartment_id SchServiceConnector#compartment_id}
    */
    readonly compartmentId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#log_group_id SchServiceConnector#log_group_id}
    */
    readonly logGroupId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#log_id SchServiceConnector#log_id}
    */
    readonly logId?: string;
}
export declare function schServiceConnectorSourceLogSourcesToTerraform(struct?: SchServiceConnectorSourceLogSources | cdktf.IResolvable): any;
export declare function schServiceConnectorSourceLogSourcesToHclTerraform(struct?: SchServiceConnectorSourceLogSources | cdktf.IResolvable): any;
export declare class SchServiceConnectorSourceLogSourcesOutputReference 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(): SchServiceConnectorSourceLogSources | cdktf.IResolvable | undefined;
    set internalValue(value: SchServiceConnectorSourceLogSources | cdktf.IResolvable | undefined);
    private _compartmentId?;
    get compartmentId(): string;
    set compartmentId(value: string);
    resetCompartmentId(): void;
    get compartmentIdInput(): string | undefined;
    private _logGroupId?;
    get logGroupId(): string;
    set logGroupId(value: string);
    resetLogGroupId(): void;
    get logGroupIdInput(): string | undefined;
    private _logId?;
    get logId(): string;
    set logId(value: string);
    resetLogId(): void;
    get logIdInput(): string | undefined;
}
export declare class SchServiceConnectorSourceLogSourcesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: SchServiceConnectorSourceLogSources[] | 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): SchServiceConnectorSourceLogSourcesOutputReference;
}
export interface SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesMetrics {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#kind SchServiceConnector#kind}
    */
    readonly kind: string;
}
export declare function schServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesMetricsToTerraform(struct?: SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesMetricsOutputReference | SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesMetrics): any;
export declare function schServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesMetricsToHclTerraform(struct?: SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesMetricsOutputReference | SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesMetrics): any;
export declare class SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesMetricsOutputReference 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(): SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesMetrics | undefined;
    set internalValue(value: SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesMetrics | undefined);
    private _kind?;
    get kind(): string;
    set kind(value: string);
    get kindInput(): string | undefined;
}
export interface SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespaces {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#namespace SchServiceConnector#namespace}
    */
    readonly namespace: string;
    /**
    * metrics block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#metrics SchServiceConnector#metrics}
    */
    readonly metrics: SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesMetrics;
}
export declare function schServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesToTerraform(struct?: SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespaces | cdktf.IResolvable): any;
export declare function schServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesToHclTerraform(struct?: SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespaces | cdktf.IResolvable): any;
export declare class SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesOutputReference 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(): SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespaces | cdktf.IResolvable | undefined;
    set internalValue(value: SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespaces | cdktf.IResolvable | undefined);
    private _namespace?;
    get namespace(): string;
    set namespace(value: string);
    get namespaceInput(): string | undefined;
    private _metrics;
    get metrics(): SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesMetricsOutputReference;
    putMetrics(value: SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesMetrics): void;
    get metricsInput(): SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesMetrics | undefined;
}
export declare class SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespaces[] | 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): SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesOutputReference;
}
export interface SchServiceConnectorSourceMonitoringSourcesNamespaceDetails {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#kind SchServiceConnector#kind}
    */
    readonly kind: string;
    /**
    * namespaces block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#namespaces SchServiceConnector#namespaces}
    */
    readonly namespaces: SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespaces[] | cdktf.IResolvable;
}
export declare function schServiceConnectorSourceMonitoringSourcesNamespaceDetailsToTerraform(struct?: SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsOutputReference | SchServiceConnectorSourceMonitoringSourcesNamespaceDetails): any;
export declare function schServiceConnectorSourceMonitoringSourcesNamespaceDetailsToHclTerraform(struct?: SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsOutputReference | SchServiceConnectorSourceMonitoringSourcesNamespaceDetails): any;
export declare class SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsOutputReference 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(): SchServiceConnectorSourceMonitoringSourcesNamespaceDetails | undefined;
    set internalValue(value: SchServiceConnectorSourceMonitoringSourcesNamespaceDetails | undefined);
    private _kind?;
    get kind(): string;
    set kind(value: string);
    get kindInput(): string | undefined;
    private _namespaces;
    get namespaces(): SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespacesList;
    putNamespaces(value: SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespaces[] | cdktf.IResolvable): void;
    get namespacesInput(): cdktf.IResolvable | SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsNamespaces[] | undefined;
}
export interface SchServiceConnectorSourceMonitoringSources {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#compartment_id SchServiceConnector#compartment_id}
    */
    readonly compartmentId?: string;
    /**
    * namespace_details block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#namespace_details SchServiceConnector#namespace_details}
    */
    readonly namespaceDetails?: SchServiceConnectorSourceMonitoringSourcesNamespaceDetails;
}
export declare function schServiceConnectorSourceMonitoringSourcesToTerraform(struct?: SchServiceConnectorSourceMonitoringSources | cdktf.IResolvable): any;
export declare function schServiceConnectorSourceMonitoringSourcesToHclTerraform(struct?: SchServiceConnectorSourceMonitoringSources | cdktf.IResolvable): any;
export declare class SchServiceConnectorSourceMonitoringSourcesOutputReference 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(): SchServiceConnectorSourceMonitoringSources | cdktf.IResolvable | undefined;
    set internalValue(value: SchServiceConnectorSourceMonitoringSources | cdktf.IResolvable | undefined);
    private _compartmentId?;
    get compartmentId(): string;
    set compartmentId(value: string);
    resetCompartmentId(): void;
    get compartmentIdInput(): string | undefined;
    private _namespaceDetails;
    get namespaceDetails(): SchServiceConnectorSourceMonitoringSourcesNamespaceDetailsOutputReference;
    putNamespaceDetails(value: SchServiceConnectorSourceMonitoringSourcesNamespaceDetails): void;
    resetNamespaceDetails(): void;
    get namespaceDetailsInput(): SchServiceConnectorSourceMonitoringSourcesNamespaceDetails | undefined;
}
export declare class SchServiceConnectorSourceMonitoringSourcesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: SchServiceConnectorSourceMonitoringSources[] | 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): SchServiceConnectorSourceMonitoringSourcesOutputReference;
}
export interface SchServiceConnectorSource {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#config_map SchServiceConnector#config_map}
    */
    readonly configMap?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#kind SchServiceConnector#kind}
    */
    readonly kind: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#plugin_name SchServiceConnector#plugin_name}
    */
    readonly pluginName?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#stream_id SchServiceConnector#stream_id}
    */
    readonly streamId?: string;
    /**
    * cursor block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#cursor SchServiceConnector#cursor}
    */
    readonly cursor?: SchServiceConnectorSourceCursor;
    /**
    * log_sources block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#log_sources SchServiceConnector#log_sources}
    */
    readonly logSources?: SchServiceConnectorSourceLogSources[] | cdktf.IResolvable;
    /**
    * monitoring_sources block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#monitoring_sources SchServiceConnector#monitoring_sources}
    */
    readonly monitoringSources?: SchServiceConnectorSourceMonitoringSources[] | cdktf.IResolvable;
}
export declare function schServiceConnectorSourceToTerraform(struct?: SchServiceConnectorSourceOutputReference | SchServiceConnectorSource): any;
export declare function schServiceConnectorSourceToHclTerraform(struct?: SchServiceConnectorSourceOutputReference | SchServiceConnectorSource): any;
export declare class SchServiceConnectorSourceOutputReference 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(): SchServiceConnectorSource | undefined;
    set internalValue(value: SchServiceConnectorSource | undefined);
    private _configMap?;
    get configMap(): string;
    set configMap(value: string);
    resetConfigMap(): void;
    get configMapInput(): string | undefined;
    private _kind?;
    get kind(): string;
    set kind(value: string);
    get kindInput(): string | undefined;
    private _pluginName?;
    get pluginName(): string;
    set pluginName(value: string);
    resetPluginName(): void;
    get pluginNameInput(): string | undefined;
    private _streamId?;
    get streamId(): string;
    set streamId(value: string);
    resetStreamId(): void;
    get streamIdInput(): string | undefined;
    private _cursor;
    get cursor(): SchServiceConnectorSourceCursorOutputReference;
    putCursor(value: SchServiceConnectorSourceCursor): void;
    resetCursor(): void;
    get cursorInput(): SchServiceConnectorSourceCursor | undefined;
    private _logSources;
    get logSources(): SchServiceConnectorSourceLogSourcesList;
    putLogSources(value: SchServiceConnectorSourceLogSources[] | cdktf.IResolvable): void;
    resetLogSources(): void;
    get logSourcesInput(): cdktf.IResolvable | SchServiceConnectorSourceLogSources[] | undefined;
    private _monitoringSources;
    get monitoringSources(): SchServiceConnectorSourceMonitoringSourcesList;
    putMonitoringSources(value: SchServiceConnectorSourceMonitoringSources[] | cdktf.IResolvable): void;
    resetMonitoringSources(): void;
    get monitoringSourcesInput(): cdktf.IResolvable | SchServiceConnectorSourceMonitoringSources[] | undefined;
}
export interface SchServiceConnectorTargetDimensionsDimensionValue {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#kind SchServiceConnector#kind}
    */
    readonly kind: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#path SchServiceConnector#path}
    */
    readonly path?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#value SchServiceConnector#value}
    */
    readonly value?: string;
}
export declare function schServiceConnectorTargetDimensionsDimensionValueToTerraform(struct?: SchServiceConnectorTargetDimensionsDimensionValueOutputReference | SchServiceConnectorTargetDimensionsDimensionValue): any;
export declare function schServiceConnectorTargetDimensionsDimensionValueToHclTerraform(struct?: SchServiceConnectorTargetDimensionsDimensionValueOutputReference | SchServiceConnectorTargetDimensionsDimensionValue): any;
export declare class SchServiceConnectorTargetDimensionsDimensionValueOutputReference 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(): SchServiceConnectorTargetDimensionsDimensionValue | undefined;
    set internalValue(value: SchServiceConnectorTargetDimensionsDimensionValue | undefined);
    private _kind?;
    get kind(): string;
    set kind(value: string);
    get kindInput(): string | undefined;
    private _path?;
    get path(): string;
    set path(value: string);
    resetPath(): void;
    get pathInput(): string | undefined;
    private _value?;
    get value(): string;
    set value(value: string);
    resetValue(): void;
    get valueInput(): string | undefined;
}
export interface SchServiceConnectorTargetDimensions {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#name SchServiceConnector#name}
    */
    readonly name?: string;
    /**
    * dimension_value block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#dimension_value SchServiceConnector#dimension_value}
    */
    readonly dimensionValue?: SchServiceConnectorTargetDimensionsDimensionValue;
}
export declare function schServiceConnectorTargetDimensionsToTerraform(struct?: SchServiceConnectorTargetDimensions | cdktf.IResolvable): any;
export declare function schServiceConnectorTargetDimensionsToHclTerraform(struct?: SchServiceConnectorTargetDimensions | cdktf.IResolvable): any;
export declare class SchServiceConnectorTargetDimensionsOutputReference 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(): SchServiceConnectorTargetDimensions | cdktf.IResolvable | undefined;
    set internalValue(value: SchServiceConnectorTargetDimensions | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    resetName(): void;
    get nameInput(): string | undefined;
    private _dimensionValue;
    get dimensionValue(): SchServiceConnectorTargetDimensionsDimensionValueOutputReference;
    putDimensionValue(value: SchServiceConnectorTargetDimensionsDimensionValue): void;
    resetDimensionValue(): void;
    get dimensionValueInput(): SchServiceConnectorTargetDimensionsDimensionValue | undefined;
}
export declare class SchServiceConnectorTargetDimensionsList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: SchServiceConnectorTargetDimensions[] | 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): SchServiceConnectorTargetDimensionsOutputReference;
}
export interface SchServiceConnectorTarget {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#batch_rollover_size_in_mbs SchServiceConnector#batch_rollover_size_in_mbs}
    */
    readonly batchRolloverSizeInMbs?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#batch_rollover_time_in_ms SchServiceConnector#batch_rollover_time_in_ms}
    */
    readonly batchRolloverTimeInMs?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#batch_size_in_kbs SchServiceConnector#batch_size_in_kbs}
    */
    readonly batchSizeInKbs?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#batch_size_in_num SchServiceConnector#batch_size_in_num}
    */
    readonly batchSizeInNum?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#batch_time_in_sec SchServiceConnector#batch_time_in_sec}
    */
    readonly batchTimeInSec?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#bucket SchServiceConnector#bucket}
    */
    readonly bucket?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#compartment_id SchServiceConnector#compartment_id}
    */
    readonly compartmentId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#enable_formatted_messaging SchServiceConnector#enable_formatted_messaging}
    */
    readonly enableFormattedMessaging?: boolean | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#function_id SchServiceConnector#function_id}
    */
    readonly functionId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#kind SchServiceConnector#kind}
    */
    readonly kind: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#log_group_id SchServiceConnector#log_group_id}
    */
    readonly logGroupId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#log_source_identifier SchServiceConnector#log_source_identifier}
    */
    readonly logSourceIdentifier?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#metric SchServiceConnector#metric}
    */
    readonly metric?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#metric_namespace SchServiceConnector#metric_namespace}
    */
    readonly metricNamespace?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#namespace SchServiceConnector#namespace}
    */
    readonly namespace?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#object_name_prefix SchServiceConnector#object_name_prefix}
    */
    readonly objectNamePrefix?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#stream_id SchServiceConnector#stream_id}
    */
    readonly streamId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#topic_id SchServiceConnector#topic_id}
    */
    readonly topicId?: string;
    /**
    * dimensions block
    *
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#dimensions SchServiceConnector#dimensions}
    */
    readonly dimensions?: SchServiceConnectorTargetDimensions[] | cdktf.IResolvable;
}
export declare function schServiceConnectorTargetToTerraform(struct?: SchServiceConnectorTargetOutputReference | SchServiceConnectorTarget): any;
export declare function schServiceConnectorTargetToHclTerraform(struct?: SchServiceConnectorTargetOutputReference | SchServiceConnectorTarget): any;
export declare class SchServiceConnectorTargetOutputReference 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(): SchServiceConnectorTarget | undefined;
    set internalValue(value: SchServiceConnectorTarget | undefined);
    private _batchRolloverSizeInMbs?;
    get batchRolloverSizeInMbs(): number;
    set batchRolloverSizeInMbs(value: number);
    resetBatchRolloverSizeInMbs(): void;
    get batchRolloverSizeInMbsInput(): number | undefined;
    private _batchRolloverTimeInMs?;
    get batchRolloverTimeInMs(): number;
    set batchRolloverTimeInMs(value: number);
    resetBatchRolloverTimeInMs(): void;
    get batchRolloverTimeInMsInput(): number | undefined;
    private _batchSizeInKbs?;
    get batchSizeInKbs(): number;
    set batchSizeInKbs(value: number);
    resetBatchSizeInKbs(): void;
    get batchSizeInKbsInput(): number | undefined;
    private _batchSizeInNum?;
    get batchSizeInNum(): number;
    set batchSizeInNum(value: number);
    resetBatchSizeInNum(): void;
    get batchSizeInNumInput(): number | undefined;
    private _batchTimeInSec?;
    get batchTimeInSec(): number;
    set batchTimeInSec(value: number);
    resetBatchTimeInSec(): void;
    get batchTimeInSecInput(): number | undefined;
    private _bucket?;
    get bucket(): string;
    set bucket(value: string);
    resetBucket(): void;
    get bucketInput(): string | undefined;
    private _compartmentId?;
    get compartmentId(): string;
    set compartmentId(value: string);
    resetCompartmentId(): void;
    get compartmentIdInput(): string | undefined;
    private _enableFormattedMessaging?;
    get enableFormattedMessaging(): boolean | cdktf.IResolvable;
    set enableFormattedMessaging(value: boolean | cdktf.IResolvable);
    resetEnableFormattedMessaging(): void;
    get enableFormattedMessagingInput(): boolean | cdktf.IResolvable | undefined;
    private _functionId?;
    get functionId(): string;
    set functionId(value: string);
    resetFunctionId(): void;
    get functionIdInput(): string | undefined;
    private _kind?;
    get kind(): string;
    set kind(value: string);
    get kindInput(): string | undefined;
    private _logGroupId?;
    get logGroupId(): string;
    set logGroupId(value: string);
    resetLogGroupId(): void;
    get logGroupIdInput(): string | undefined;
    private _logSourceIdentifier?;
    get logSourceIdentifier(): string;
    set logSourceIdentifier(value: string);
    resetLogSourceIdentifier(): void;
    get logSourceIdentifierInput(): string | undefined;
    private _metric?;
    get metric(): string;
    set metric(value: string);
    resetMetric(): void;
    get metricInput(): string | undefined;
    private _metricNamespace?;
    get metricNamespace(): string;
    set metricNamespace(value: string);
    resetMetricNamespace(): void;
    get metricNamespaceInput(): string | undefined;
    private _namespace?;
    get namespace(): string;
    set namespace(value: string);
    resetNamespace(): void;
    get namespaceInput(): string | undefined;
    private _objectNamePrefix?;
    get objectNamePrefix(): string;
    set objectNamePrefix(value: string);
    resetObjectNamePrefix(): void;
    get objectNamePrefixInput(): string | undefined;
    private _streamId?;
    get streamId(): string;
    set streamId(value: string);
    resetStreamId(): void;
    get streamIdInput(): string | undefined;
    private _topicId?;
    get topicId(): string;
    set topicId(value: string);
    resetTopicId(): void;
    get topicIdInput(): string | undefined;
    private _dimensions;
    get dimensions(): SchServiceConnectorTargetDimensionsList;
    putDimensions(value: SchServiceConnectorTargetDimensions[] | cdktf.IResolvable): void;
    resetDimensions(): void;
    get dimensionsInput(): cdktf.IResolvable | SchServiceConnectorTargetDimensions[] | undefined;
}
export interface SchServiceConnectorTasks {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#batch_size_in_kbs SchServiceConnector#batch_size_in_kbs}
    */
    readonly batchSizeInKbs?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#batch_time_in_sec SchServiceConnector#batch_time_in_sec}
    */
    readonly batchTimeInSec?: number;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#condition SchServiceConnector#condition}
    */
    readonly condition?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#function_id SchServiceConnector#function_id}
    */
    readonly functionId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#kind SchServiceConnector#kind}
    */
    readonly kind: string;
}
export declare function schServiceConnectorTasksToTerraform(struct?: SchServiceConnectorTasks | cdktf.IResolvable): any;
export declare function schServiceConnectorTasksToHclTerraform(struct?: SchServiceConnectorTasks | cdktf.IResolvable): any;
export declare class SchServiceConnectorTasksOutputReference 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(): SchServiceConnectorTasks | cdktf.IResolvable | undefined;
    set internalValue(value: SchServiceConnectorTasks | cdktf.IResolvable | undefined);
    private _batchSizeInKbs?;
    get batchSizeInKbs(): number;
    set batchSizeInKbs(value: number);
    resetBatchSizeInKbs(): void;
    get batchSizeInKbsInput(): number | undefined;
    private _batchTimeInSec?;
    get batchTimeInSec(): number;
    set batchTimeInSec(value: number);
    resetBatchTimeInSec(): void;
    get batchTimeInSecInput(): number | undefined;
    private _condition?;
    get condition(): string;
    set condition(value: string);
    resetCondition(): void;
    get conditionInput(): string | undefined;
    private _functionId?;
    get functionId(): string;
    set functionId(value: string);
    resetFunctionId(): void;
    get functionIdInput(): string | undefined;
    private _kind?;
    get kind(): string;
    set kind(value: string);
    get kindInput(): string | undefined;
}
export declare class SchServiceConnectorTasksList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: SchServiceConnectorTasks[] | 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): SchServiceConnectorTasksOutputReference;
}
export interface SchServiceConnectorTimeouts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#create SchServiceConnector#create}
    */
    readonly create?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#delete SchServiceConnector#delete}
    */
    readonly delete?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#update SchServiceConnector#update}
    */
    readonly update?: string;
}
export declare function schServiceConnectorTimeoutsToTerraform(struct?: SchServiceConnectorTimeouts | cdktf.IResolvable): any;
export declare function schServiceConnectorTimeoutsToHclTerraform(struct?: SchServiceConnectorTimeouts | cdktf.IResolvable): any;
export declare class SchServiceConnectorTimeoutsOutputReference extends cdktf.ComplexObject {
    private isEmptyObject;
    private resolvableValue?;
    /**
    * @param terraformResource The parent resource
    * @param terraformAttribute The attribute on the parent resource this class is referencing
    */
    constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
    get internalValue(): SchServiceConnectorTimeouts | cdktf.IResolvable | undefined;
    set internalValue(value: SchServiceConnectorTimeouts | cdktf.IResolvable | undefined);
    private _create?;
    get create(): string;
    set create(value: string);
    resetCreate(): void;
    get createInput(): string | undefined;
    private _delete?;
    get delete(): string;
    set delete(value: string);
    resetDelete(): void;
    get deleteInput(): string | undefined;
    private _update?;
    get update(): string;
    set update(value: string);
    resetUpdate(): void;
    get updateInput(): string | undefined;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector oci_sch_service_connector}
*/
export declare class SchServiceConnector extends cdktf.TerraformResource {
    static readonly tfResourceType = "oci_sch_service_connector";
    /**
    * Generates CDKTF code for importing a SchServiceConnector 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 SchServiceConnector to import
    * @param importFromId The id of the existing SchServiceConnector that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/resources/sch_service_connector#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the SchServiceConnector 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/oracle/oci/6.18.0/docs/resources/sch_service_connector oci_sch_service_connector} 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 SchServiceConnectorConfig
    */
    constructor(scope: Construct, id: string, config: SchServiceConnectorConfig);
    private _compartmentId?;
    get compartmentId(): string;
    set compartmentId(value: string);
    get compartmentIdInput(): string | undefined;
    private _definedTags?;
    get definedTags(): {
        [key: string]: string;
    };
    set definedTags(value: {
        [key: string]: string;
    });
    resetDefinedTags(): void;
    get definedTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _displayName?;
    get displayName(): string;
    set displayName(value: string);
    get displayNameInput(): string | undefined;
    private _freeformTags?;
    get freeformTags(): {
        [key: string]: string;
    };
    set freeformTags(value: {
        [key: string]: string;
    });
    resetFreeformTags(): void;
    get freeformTagsInput(): {
        [key: string]: string;
    } | undefined;
    private _id?;
    get id(): string;
    set id(value: string);
    resetId(): void;
    get idInput(): string | undefined;
    get lifecyleDetails(): string;
    private _state?;
    get state(): string;
    set state(value: string);
    resetState(): void;
    get stateInput(): string | undefined;
    private _systemTags;
    get systemTags(): cdktf.StringMap;
    get timeCreated(): string;
    get timeUpdated(): string;
    private _source;
    get source(): SchServiceConnectorSourceOutputReference;
    putSource(value: SchServiceConnectorSource): void;
    get sourceInput(): SchServiceConnectorSource | undefined;
    private _target;
    get target(): SchServiceConnectorTargetOutputReference;
    putTarget(value: SchServiceConnectorTarget): void;
    get targetInput(): SchServiceConnectorTarget | undefined;
    private _tasks;
    get tasks(): SchServiceConnectorTasksList;
    putTasks(value: SchServiceConnectorTasks[] | cdktf.IResolvable): void;
    resetTasks(): void;
    get tasksInput(): cdktf.IResolvable | SchServiceConnectorTasks[] | undefined;
    private _timeouts;
    get timeouts(): SchServiceConnectorTimeoutsOutputReference;
    putTimeouts(value: SchServiceConnectorTimeouts): void;
    resetTimeouts(): void;
    get timeoutsInput(): cdktf.IResolvable | SchServiceConnectorTimeouts | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
