import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataOciDataintegrationWorkspaceApplicationConfig extends cdktf.TerraformMetaArguments {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/dataintegration_workspace_application#application_key DataOciDataintegrationWorkspaceApplication#application_key}
    */
    readonly applicationKey: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/dataintegration_workspace_application#workspace_id DataOciDataintegrationWorkspaceApplication#workspace_id}
    */
    readonly workspaceId: string;
}
export interface DataOciDataintegrationWorkspaceApplicationDependentObjectMetadata {
}
export declare function dataOciDataintegrationWorkspaceApplicationDependentObjectMetadataToTerraform(struct?: DataOciDataintegrationWorkspaceApplicationDependentObjectMetadata): any;
export declare function dataOciDataintegrationWorkspaceApplicationDependentObjectMetadataToHclTerraform(struct?: DataOciDataintegrationWorkspaceApplicationDependentObjectMetadata): any;
export declare class DataOciDataintegrationWorkspaceApplicationDependentObjectMetadataOutputReference 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(): DataOciDataintegrationWorkspaceApplicationDependentObjectMetadata | undefined;
    set internalValue(value: DataOciDataintegrationWorkspaceApplicationDependentObjectMetadata | undefined);
    get action(): string;
    get identifier(): string;
    get key(): string;
    get name(): string;
    get namePath(): string;
    get objectVersion(): number;
    get type(): string;
}
export declare class DataOciDataintegrationWorkspaceApplicationDependentObjectMetadataList 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): DataOciDataintegrationWorkspaceApplicationDependentObjectMetadataOutputReference;
}
export interface DataOciDataintegrationWorkspaceApplicationMetadataAggregator {
}
export declare function dataOciDataintegrationWorkspaceApplicationMetadataAggregatorToTerraform(struct?: DataOciDataintegrationWorkspaceApplicationMetadataAggregator): any;
export declare function dataOciDataintegrationWorkspaceApplicationMetadataAggregatorToHclTerraform(struct?: DataOciDataintegrationWorkspaceApplicationMetadataAggregator): any;
export declare class DataOciDataintegrationWorkspaceApplicationMetadataAggregatorOutputReference 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(): DataOciDataintegrationWorkspaceApplicationMetadataAggregator | undefined;
    set internalValue(value: DataOciDataintegrationWorkspaceApplicationMetadataAggregator | undefined);
    get description(): string;
    get identifier(): string;
    get key(): string;
    get name(): string;
    get type(): string;
}
export declare class DataOciDataintegrationWorkspaceApplicationMetadataAggregatorList 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): DataOciDataintegrationWorkspaceApplicationMetadataAggregatorOutputReference;
}
export interface DataOciDataintegrationWorkspaceApplicationMetadataCountStatisticsObjectTypeCountListStruct {
}
export declare function dataOciDataintegrationWorkspaceApplicationMetadataCountStatisticsObjectTypeCountListStructToTerraform(struct?: DataOciDataintegrationWorkspaceApplicationMetadataCountStatisticsObjectTypeCountListStruct): any;
export declare function dataOciDataintegrationWorkspaceApplicationMetadataCountStatisticsObjectTypeCountListStructToHclTerraform(struct?: DataOciDataintegrationWorkspaceApplicationMetadataCountStatisticsObjectTypeCountListStruct): any;
export declare class DataOciDataintegrationWorkspaceApplicationMetadataCountStatisticsObjectTypeCountListStructOutputReference 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(): DataOciDataintegrationWorkspaceApplicationMetadataCountStatisticsObjectTypeCountListStruct | undefined;
    set internalValue(value: DataOciDataintegrationWorkspaceApplicationMetadataCountStatisticsObjectTypeCountListStruct | undefined);
    get objectCount(): string;
    get objectType(): string;
}
export declare class DataOciDataintegrationWorkspaceApplicationMetadataCountStatisticsObjectTypeCountListStructList 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): DataOciDataintegrationWorkspaceApplicationMetadataCountStatisticsObjectTypeCountListStructOutputReference;
}
export interface DataOciDataintegrationWorkspaceApplicationMetadataCountStatistics {
}
export declare function dataOciDataintegrationWorkspaceApplicationMetadataCountStatisticsToTerraform(struct?: DataOciDataintegrationWorkspaceApplicationMetadataCountStatistics): any;
export declare function dataOciDataintegrationWorkspaceApplicationMetadataCountStatisticsToHclTerraform(struct?: DataOciDataintegrationWorkspaceApplicationMetadataCountStatistics): any;
export declare class DataOciDataintegrationWorkspaceApplicationMetadataCountStatisticsOutputReference 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(): DataOciDataintegrationWorkspaceApplicationMetadataCountStatistics | undefined;
    set internalValue(value: DataOciDataintegrationWorkspaceApplicationMetadataCountStatistics | undefined);
    private _objectTypeCountList;
    get objectTypeCountList(): DataOciDataintegrationWorkspaceApplicationMetadataCountStatisticsObjectTypeCountListStructList;
}
export declare class DataOciDataintegrationWorkspaceApplicationMetadataCountStatisticsList 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): DataOciDataintegrationWorkspaceApplicationMetadataCountStatisticsOutputReference;
}
export interface DataOciDataintegrationWorkspaceApplicationMetadata {
}
export declare function dataOciDataintegrationWorkspaceApplicationMetadataToTerraform(struct?: DataOciDataintegrationWorkspaceApplicationMetadata): any;
export declare function dataOciDataintegrationWorkspaceApplicationMetadataToHclTerraform(struct?: DataOciDataintegrationWorkspaceApplicationMetadata): any;
export declare class DataOciDataintegrationWorkspaceApplicationMetadataOutputReference 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(): DataOciDataintegrationWorkspaceApplicationMetadata | undefined;
    set internalValue(value: DataOciDataintegrationWorkspaceApplicationMetadata | undefined);
    private _aggregator;
    get aggregator(): DataOciDataintegrationWorkspaceApplicationMetadataAggregatorList;
    get aggregatorKey(): string;
    private _countStatistics;
    get countStatistics(): DataOciDataintegrationWorkspaceApplicationMetadataCountStatisticsList;
    get createdBy(): string;
    get createdByName(): string;
    get identifierPath(): string;
    private _infoFields;
    get infoFields(): cdktf.StringMap;
    get isFavorite(): cdktf.IResolvable;
    get labels(): string[];
    get registryVersion(): number;
    get timeCreated(): string;
    get timeUpdated(): string;
    get updatedBy(): string;
    get updatedByName(): string;
}
export declare class DataOciDataintegrationWorkspaceApplicationMetadataList 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): DataOciDataintegrationWorkspaceApplicationMetadataOutputReference;
}
export interface DataOciDataintegrationWorkspaceApplicationParentRef {
}
export declare function dataOciDataintegrationWorkspaceApplicationParentRefToTerraform(struct?: DataOciDataintegrationWorkspaceApplicationParentRef): any;
export declare function dataOciDataintegrationWorkspaceApplicationParentRefToHclTerraform(struct?: DataOciDataintegrationWorkspaceApplicationParentRef): any;
export declare class DataOciDataintegrationWorkspaceApplicationParentRefOutputReference 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(): DataOciDataintegrationWorkspaceApplicationParentRef | undefined;
    set internalValue(value: DataOciDataintegrationWorkspaceApplicationParentRef | undefined);
    get parent(): string;
    get rootDocId(): string;
}
export declare class DataOciDataintegrationWorkspaceApplicationParentRefList 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): DataOciDataintegrationWorkspaceApplicationParentRefOutputReference;
}
export interface DataOciDataintegrationWorkspaceApplicationPublishedObjectMetadata {
}
export declare function dataOciDataintegrationWorkspaceApplicationPublishedObjectMetadataToTerraform(struct?: DataOciDataintegrationWorkspaceApplicationPublishedObjectMetadata): any;
export declare function dataOciDataintegrationWorkspaceApplicationPublishedObjectMetadataToHclTerraform(struct?: DataOciDataintegrationWorkspaceApplicationPublishedObjectMetadata): any;
export declare class DataOciDataintegrationWorkspaceApplicationPublishedObjectMetadataOutputReference 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(): DataOciDataintegrationWorkspaceApplicationPublishedObjectMetadata | undefined;
    set internalValue(value: DataOciDataintegrationWorkspaceApplicationPublishedObjectMetadata | undefined);
    get action(): string;
    get identifier(): string;
    get key(): string;
    get name(): string;
    get namePath(): string;
    get objectVersion(): number;
    get type(): string;
}
export declare class DataOciDataintegrationWorkspaceApplicationPublishedObjectMetadataList 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): DataOciDataintegrationWorkspaceApplicationPublishedObjectMetadataOutputReference;
}
export interface DataOciDataintegrationWorkspaceApplicationRegistryMetadata {
}
export declare function dataOciDataintegrationWorkspaceApplicationRegistryMetadataToTerraform(struct?: DataOciDataintegrationWorkspaceApplicationRegistryMetadata): any;
export declare function dataOciDataintegrationWorkspaceApplicationRegistryMetadataToHclTerraform(struct?: DataOciDataintegrationWorkspaceApplicationRegistryMetadata): any;
export declare class DataOciDataintegrationWorkspaceApplicationRegistryMetadataOutputReference 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(): DataOciDataintegrationWorkspaceApplicationRegistryMetadata | undefined;
    set internalValue(value: DataOciDataintegrationWorkspaceApplicationRegistryMetadata | undefined);
    get aggregatorKey(): string;
    get isFavorite(): cdktf.IResolvable;
    get key(): string;
    get labels(): string[];
    get registryVersion(): number;
}
export declare class DataOciDataintegrationWorkspaceApplicationRegistryMetadataList 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): DataOciDataintegrationWorkspaceApplicationRegistryMetadataOutputReference;
}
export interface DataOciDataintegrationWorkspaceApplicationSourceApplicationInfo {
}
export declare function dataOciDataintegrationWorkspaceApplicationSourceApplicationInfoToTerraform(struct?: DataOciDataintegrationWorkspaceApplicationSourceApplicationInfo): any;
export declare function dataOciDataintegrationWorkspaceApplicationSourceApplicationInfoToHclTerraform(struct?: DataOciDataintegrationWorkspaceApplicationSourceApplicationInfo): any;
export declare class DataOciDataintegrationWorkspaceApplicationSourceApplicationInfoOutputReference 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(): DataOciDataintegrationWorkspaceApplicationSourceApplicationInfo | undefined;
    set internalValue(value: DataOciDataintegrationWorkspaceApplicationSourceApplicationInfo | undefined);
    get applicationKey(): string;
    get applicationVersion(): string;
    get copyType(): string;
    get lastPatchKey(): string;
    get workspaceId(): string;
}
export declare class DataOciDataintegrationWorkspaceApplicationSourceApplicationInfoList 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): DataOciDataintegrationWorkspaceApplicationSourceApplicationInfoOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/dataintegration_workspace_application oci_dataintegration_workspace_application}
*/
export declare class DataOciDataintegrationWorkspaceApplication extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "oci_dataintegration_workspace_application";
    /**
    * Generates CDKTF code for importing a DataOciDataintegrationWorkspaceApplication 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 DataOciDataintegrationWorkspaceApplication to import
    * @param importFromId The id of the existing DataOciDataintegrationWorkspaceApplication that should be imported. Refer to the {@link https://registry.terraform.io/providers/oracle/oci/6.18.0/docs/data-sources/dataintegration_workspace_application#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataOciDataintegrationWorkspaceApplication 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/data-sources/dataintegration_workspace_application oci_dataintegration_workspace_application} Data Source
    *
    * @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 DataOciDataintegrationWorkspaceApplicationConfig
    */
    constructor(scope: Construct, id: string, config: DataOciDataintegrationWorkspaceApplicationConfig);
    private _applicationKey?;
    get applicationKey(): string;
    set applicationKey(value: string);
    get applicationKeyInput(): string | undefined;
    get applicationVersion(): number;
    get compartmentId(): string;
    private _definedTags;
    get definedTags(): cdktf.StringMap;
    private _dependentObjectMetadata;
    get dependentObjectMetadata(): DataOciDataintegrationWorkspaceApplicationDependentObjectMetadataList;
    get description(): string;
    get displayName(): string;
    private _freeformTags;
    get freeformTags(): cdktf.StringMap;
    get id(): string;
    get identifier(): string;
    get key(): string;
    private _keyMap;
    get keyMap(): cdktf.StringMap;
    private _metadata;
    get metadata(): DataOciDataintegrationWorkspaceApplicationMetadataList;
    get modelType(): string;
    get modelVersion(): string;
    get name(): string;
    get objectStatus(): number;
    get objectVersion(): number;
    private _parentRef;
    get parentRef(): DataOciDataintegrationWorkspaceApplicationParentRefList;
    private _publishedObjectMetadata;
    get publishedObjectMetadata(): DataOciDataintegrationWorkspaceApplicationPublishedObjectMetadataList;
    private _registryMetadata;
    get registryMetadata(): DataOciDataintegrationWorkspaceApplicationRegistryMetadataList;
    private _sourceApplicationInfo;
    get sourceApplicationInfo(): DataOciDataintegrationWorkspaceApplicationSourceApplicationInfoList;
    get state(): string;
    get timeCreated(): string;
    get timePatched(): string;
    get timeUpdated(): string;
    private _workspaceId?;
    get workspaceId(): string;
    set workspaceId(value: string);
    get workspaceIdInput(): string | undefined;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
