/**
 * Copyright (c) HashiCorp, Inc.
 * SPDX-License-Identifier: MPL-2.0
 */
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface DataDatabricksAppsConfig extends cdktf.TerraformMetaArguments {
}
export interface DataDatabricksAppsAppActiveDeploymentDeploymentArtifacts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#source_code_path DataDatabricksApps#source_code_path}
    */
    readonly sourceCodePath?: string;
}
export declare function dataDatabricksAppsAppActiveDeploymentDeploymentArtifactsToTerraform(struct?: DataDatabricksAppsAppActiveDeploymentDeploymentArtifacts): any;
export declare function dataDatabricksAppsAppActiveDeploymentDeploymentArtifactsToHclTerraform(struct?: DataDatabricksAppsAppActiveDeploymentDeploymentArtifacts): any;
export declare class DataDatabricksAppsAppActiveDeploymentDeploymentArtifactsOutputReference 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(): DataDatabricksAppsAppActiveDeploymentDeploymentArtifacts | undefined;
    set internalValue(value: DataDatabricksAppsAppActiveDeploymentDeploymentArtifacts | undefined);
    private _sourceCodePath?;
    get sourceCodePath(): string;
    set sourceCodePath(value: string);
    resetSourceCodePath(): void;
    get sourceCodePathInput(): string | undefined;
}
export interface DataDatabricksAppsAppActiveDeploymentStatus {
}
export declare function dataDatabricksAppsAppActiveDeploymentStatusToTerraform(struct?: DataDatabricksAppsAppActiveDeploymentStatus): any;
export declare function dataDatabricksAppsAppActiveDeploymentStatusToHclTerraform(struct?: DataDatabricksAppsAppActiveDeploymentStatus): any;
export declare class DataDatabricksAppsAppActiveDeploymentStatusOutputReference 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(): DataDatabricksAppsAppActiveDeploymentStatus | undefined;
    set internalValue(value: DataDatabricksAppsAppActiveDeploymentStatus | undefined);
    get message(): string;
    get state(): string;
}
export interface DataDatabricksAppsAppActiveDeployment {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#deployment_id DataDatabricksApps#deployment_id}
    */
    readonly deploymentId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#mode DataDatabricksApps#mode}
    */
    readonly mode?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#source_code_path DataDatabricksApps#source_code_path}
    */
    readonly sourceCodePath?: string;
}
export declare function dataDatabricksAppsAppActiveDeploymentToTerraform(struct?: DataDatabricksAppsAppActiveDeployment): any;
export declare function dataDatabricksAppsAppActiveDeploymentToHclTerraform(struct?: DataDatabricksAppsAppActiveDeployment): any;
export declare class DataDatabricksAppsAppActiveDeploymentOutputReference 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(): DataDatabricksAppsAppActiveDeployment | undefined;
    set internalValue(value: DataDatabricksAppsAppActiveDeployment | undefined);
    get createTime(): string;
    get creator(): string;
    private _deploymentArtifacts;
    get deploymentArtifacts(): DataDatabricksAppsAppActiveDeploymentDeploymentArtifactsOutputReference;
    private _deploymentId?;
    get deploymentId(): string;
    set deploymentId(value: string);
    resetDeploymentId(): void;
    get deploymentIdInput(): string | undefined;
    private _mode?;
    get mode(): string;
    set mode(value: string);
    resetMode(): void;
    get modeInput(): string | undefined;
    private _sourceCodePath?;
    get sourceCodePath(): string;
    set sourceCodePath(value: string);
    resetSourceCodePath(): void;
    get sourceCodePathInput(): string | undefined;
    private _status;
    get status(): DataDatabricksAppsAppActiveDeploymentStatusOutputReference;
    get updateTime(): string;
}
export interface DataDatabricksAppsAppAppStatus {
}
export declare function dataDatabricksAppsAppAppStatusToTerraform(struct?: DataDatabricksAppsAppAppStatus): any;
export declare function dataDatabricksAppsAppAppStatusToHclTerraform(struct?: DataDatabricksAppsAppAppStatus): any;
export declare class DataDatabricksAppsAppAppStatusOutputReference 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(): DataDatabricksAppsAppAppStatus | undefined;
    set internalValue(value: DataDatabricksAppsAppAppStatus | undefined);
    get message(): string;
    get state(): string;
}
export interface DataDatabricksAppsAppComputeStatus {
}
export declare function dataDatabricksAppsAppComputeStatusToTerraform(struct?: DataDatabricksAppsAppComputeStatus): any;
export declare function dataDatabricksAppsAppComputeStatusToHclTerraform(struct?: DataDatabricksAppsAppComputeStatus): any;
export declare class DataDatabricksAppsAppComputeStatusOutputReference 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(): DataDatabricksAppsAppComputeStatus | undefined;
    set internalValue(value: DataDatabricksAppsAppComputeStatus | undefined);
    get message(): string;
    get state(): string;
}
export interface DataDatabricksAppsAppPendingDeploymentDeploymentArtifacts {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#source_code_path DataDatabricksApps#source_code_path}
    */
    readonly sourceCodePath?: string;
}
export declare function dataDatabricksAppsAppPendingDeploymentDeploymentArtifactsToTerraform(struct?: DataDatabricksAppsAppPendingDeploymentDeploymentArtifacts): any;
export declare function dataDatabricksAppsAppPendingDeploymentDeploymentArtifactsToHclTerraform(struct?: DataDatabricksAppsAppPendingDeploymentDeploymentArtifacts): any;
export declare class DataDatabricksAppsAppPendingDeploymentDeploymentArtifactsOutputReference 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(): DataDatabricksAppsAppPendingDeploymentDeploymentArtifacts | undefined;
    set internalValue(value: DataDatabricksAppsAppPendingDeploymentDeploymentArtifacts | undefined);
    private _sourceCodePath?;
    get sourceCodePath(): string;
    set sourceCodePath(value: string);
    resetSourceCodePath(): void;
    get sourceCodePathInput(): string | undefined;
}
export interface DataDatabricksAppsAppPendingDeploymentStatus {
}
export declare function dataDatabricksAppsAppPendingDeploymentStatusToTerraform(struct?: DataDatabricksAppsAppPendingDeploymentStatus): any;
export declare function dataDatabricksAppsAppPendingDeploymentStatusToHclTerraform(struct?: DataDatabricksAppsAppPendingDeploymentStatus): any;
export declare class DataDatabricksAppsAppPendingDeploymentStatusOutputReference 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(): DataDatabricksAppsAppPendingDeploymentStatus | undefined;
    set internalValue(value: DataDatabricksAppsAppPendingDeploymentStatus | undefined);
    get message(): string;
    get state(): string;
}
export interface DataDatabricksAppsAppPendingDeployment {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#deployment_id DataDatabricksApps#deployment_id}
    */
    readonly deploymentId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#mode DataDatabricksApps#mode}
    */
    readonly mode?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#source_code_path DataDatabricksApps#source_code_path}
    */
    readonly sourceCodePath?: string;
}
export declare function dataDatabricksAppsAppPendingDeploymentToTerraform(struct?: DataDatabricksAppsAppPendingDeployment): any;
export declare function dataDatabricksAppsAppPendingDeploymentToHclTerraform(struct?: DataDatabricksAppsAppPendingDeployment): any;
export declare class DataDatabricksAppsAppPendingDeploymentOutputReference 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(): DataDatabricksAppsAppPendingDeployment | undefined;
    set internalValue(value: DataDatabricksAppsAppPendingDeployment | undefined);
    get createTime(): string;
    get creator(): string;
    private _deploymentArtifacts;
    get deploymentArtifacts(): DataDatabricksAppsAppPendingDeploymentDeploymentArtifactsOutputReference;
    private _deploymentId?;
    get deploymentId(): string;
    set deploymentId(value: string);
    resetDeploymentId(): void;
    get deploymentIdInput(): string | undefined;
    private _mode?;
    get mode(): string;
    set mode(value: string);
    resetMode(): void;
    get modeInput(): string | undefined;
    private _sourceCodePath?;
    get sourceCodePath(): string;
    set sourceCodePath(value: string);
    resetSourceCodePath(): void;
    get sourceCodePathInput(): string | undefined;
    private _status;
    get status(): DataDatabricksAppsAppPendingDeploymentStatusOutputReference;
    get updateTime(): string;
}
export interface DataDatabricksAppsAppResourcesJob {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#id DataDatabricksApps#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/databricks/databricks/1.71.0/docs/data-sources/apps#permission DataDatabricksApps#permission}
    */
    readonly permission: string;
}
export declare function dataDatabricksAppsAppResourcesJobToTerraform(struct?: DataDatabricksAppsAppResourcesJob | cdktf.IResolvable): any;
export declare function dataDatabricksAppsAppResourcesJobToHclTerraform(struct?: DataDatabricksAppsAppResourcesJob | cdktf.IResolvable): any;
export declare class DataDatabricksAppsAppResourcesJobOutputReference 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(): DataDatabricksAppsAppResourcesJob | cdktf.IResolvable | undefined;
    set internalValue(value: DataDatabricksAppsAppResourcesJob | cdktf.IResolvable | undefined);
    private _id?;
    get id(): string;
    set id(value: string);
    get idInput(): string | undefined;
    private _permission?;
    get permission(): string;
    set permission(value: string);
    get permissionInput(): string | undefined;
}
export interface DataDatabricksAppsAppResourcesSecret {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#key DataDatabricksApps#key}
    */
    readonly key: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#permission DataDatabricksApps#permission}
    */
    readonly permission: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#scope DataDatabricksApps#scope}
    */
    readonly scope: string;
}
export declare function dataDatabricksAppsAppResourcesSecretToTerraform(struct?: DataDatabricksAppsAppResourcesSecret | cdktf.IResolvable): any;
export declare function dataDatabricksAppsAppResourcesSecretToHclTerraform(struct?: DataDatabricksAppsAppResourcesSecret | cdktf.IResolvable): any;
export declare class DataDatabricksAppsAppResourcesSecretOutputReference 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(): DataDatabricksAppsAppResourcesSecret | cdktf.IResolvable | undefined;
    set internalValue(value: DataDatabricksAppsAppResourcesSecret | cdktf.IResolvable | undefined);
    private _key?;
    get key(): string;
    set key(value: string);
    get keyInput(): string | undefined;
    private _permission?;
    get permission(): string;
    set permission(value: string);
    get permissionInput(): string | undefined;
    private _scope?;
    get scope(): string;
    set scope(value: string);
    get scopeInput(): string | undefined;
}
export interface DataDatabricksAppsAppResourcesServingEndpoint {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#name DataDatabricksApps#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#permission DataDatabricksApps#permission}
    */
    readonly permission: string;
}
export declare function dataDatabricksAppsAppResourcesServingEndpointToTerraform(struct?: DataDatabricksAppsAppResourcesServingEndpoint | cdktf.IResolvable): any;
export declare function dataDatabricksAppsAppResourcesServingEndpointToHclTerraform(struct?: DataDatabricksAppsAppResourcesServingEndpoint | cdktf.IResolvable): any;
export declare class DataDatabricksAppsAppResourcesServingEndpointOutputReference 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(): DataDatabricksAppsAppResourcesServingEndpoint | cdktf.IResolvable | undefined;
    set internalValue(value: DataDatabricksAppsAppResourcesServingEndpoint | cdktf.IResolvable | undefined);
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _permission?;
    get permission(): string;
    set permission(value: string);
    get permissionInput(): string | undefined;
}
export interface DataDatabricksAppsAppResourcesSqlWarehouse {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#id DataDatabricksApps#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/databricks/databricks/1.71.0/docs/data-sources/apps#permission DataDatabricksApps#permission}
    */
    readonly permission: string;
}
export declare function dataDatabricksAppsAppResourcesSqlWarehouseToTerraform(struct?: DataDatabricksAppsAppResourcesSqlWarehouse | cdktf.IResolvable): any;
export declare function dataDatabricksAppsAppResourcesSqlWarehouseToHclTerraform(struct?: DataDatabricksAppsAppResourcesSqlWarehouse | cdktf.IResolvable): any;
export declare class DataDatabricksAppsAppResourcesSqlWarehouseOutputReference 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(): DataDatabricksAppsAppResourcesSqlWarehouse | cdktf.IResolvable | undefined;
    set internalValue(value: DataDatabricksAppsAppResourcesSqlWarehouse | cdktf.IResolvable | undefined);
    private _id?;
    get id(): string;
    set id(value: string);
    get idInput(): string | undefined;
    private _permission?;
    get permission(): string;
    set permission(value: string);
    get permissionInput(): string | undefined;
}
export interface DataDatabricksAppsAppResources {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#description DataDatabricksApps#description}
    */
    readonly description?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#job DataDatabricksApps#job}
    */
    readonly job?: DataDatabricksAppsAppResourcesJob;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#name DataDatabricksApps#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#secret DataDatabricksApps#secret}
    */
    readonly secret?: DataDatabricksAppsAppResourcesSecret;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#serving_endpoint DataDatabricksApps#serving_endpoint}
    */
    readonly servingEndpoint?: DataDatabricksAppsAppResourcesServingEndpoint;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#sql_warehouse DataDatabricksApps#sql_warehouse}
    */
    readonly sqlWarehouse?: DataDatabricksAppsAppResourcesSqlWarehouse;
}
export declare function dataDatabricksAppsAppResourcesToTerraform(struct?: DataDatabricksAppsAppResources | cdktf.IResolvable): any;
export declare function dataDatabricksAppsAppResourcesToHclTerraform(struct?: DataDatabricksAppsAppResources | cdktf.IResolvable): any;
export declare class DataDatabricksAppsAppResourcesOutputReference 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(): DataDatabricksAppsAppResources | cdktf.IResolvable | undefined;
    set internalValue(value: DataDatabricksAppsAppResources | cdktf.IResolvable | undefined);
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    private _job;
    get job(): DataDatabricksAppsAppResourcesJobOutputReference;
    putJob(value: DataDatabricksAppsAppResourcesJob): void;
    resetJob(): void;
    get jobInput(): cdktf.IResolvable | DataDatabricksAppsAppResourcesJob | undefined;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    private _secret;
    get secret(): DataDatabricksAppsAppResourcesSecretOutputReference;
    putSecret(value: DataDatabricksAppsAppResourcesSecret): void;
    resetSecret(): void;
    get secretInput(): cdktf.IResolvable | DataDatabricksAppsAppResourcesSecret | undefined;
    private _servingEndpoint;
    get servingEndpoint(): DataDatabricksAppsAppResourcesServingEndpointOutputReference;
    putServingEndpoint(value: DataDatabricksAppsAppResourcesServingEndpoint): void;
    resetServingEndpoint(): void;
    get servingEndpointInput(): cdktf.IResolvable | DataDatabricksAppsAppResourcesServingEndpoint | undefined;
    private _sqlWarehouse;
    get sqlWarehouse(): DataDatabricksAppsAppResourcesSqlWarehouseOutputReference;
    putSqlWarehouse(value: DataDatabricksAppsAppResourcesSqlWarehouse): void;
    resetSqlWarehouse(): void;
    get sqlWarehouseInput(): cdktf.IResolvable | DataDatabricksAppsAppResourcesSqlWarehouse | undefined;
}
export declare class DataDatabricksAppsAppResourcesList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataDatabricksAppsAppResources[] | 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): DataDatabricksAppsAppResourcesOutputReference;
}
export interface DataDatabricksAppsApp {
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#budget_policy_id DataDatabricksApps#budget_policy_id}
    */
    readonly budgetPolicyId?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#description DataDatabricksApps#description}
    */
    readonly description?: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#name DataDatabricksApps#name}
    */
    readonly name: string;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#resources DataDatabricksApps#resources}
    */
    readonly resources?: DataDatabricksAppsAppResources[] | cdktf.IResolvable;
    /**
    * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#user_api_scopes DataDatabricksApps#user_api_scopes}
    */
    readonly userApiScopes?: string[];
}
export declare function dataDatabricksAppsAppToTerraform(struct?: DataDatabricksAppsApp): any;
export declare function dataDatabricksAppsAppToHclTerraform(struct?: DataDatabricksAppsApp): any;
export declare class DataDatabricksAppsAppOutputReference 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(): DataDatabricksAppsApp | undefined;
    set internalValue(value: DataDatabricksAppsApp | undefined);
    private _activeDeployment;
    get activeDeployment(): DataDatabricksAppsAppActiveDeploymentOutputReference;
    private _appStatus;
    get appStatus(): DataDatabricksAppsAppAppStatusOutputReference;
    private _budgetPolicyId?;
    get budgetPolicyId(): string;
    set budgetPolicyId(value: string);
    resetBudgetPolicyId(): void;
    get budgetPolicyIdInput(): string | undefined;
    private _computeStatus;
    get computeStatus(): DataDatabricksAppsAppComputeStatusOutputReference;
    get createTime(): string;
    get creator(): string;
    get defaultSourceCodePath(): string;
    private _description?;
    get description(): string;
    set description(value: string);
    resetDescription(): void;
    get descriptionInput(): string | undefined;
    get effectiveBudgetPolicyId(): string;
    get effectiveUserApiScopes(): string[];
    get id(): string;
    private _name?;
    get name(): string;
    set name(value: string);
    get nameInput(): string | undefined;
    get oauth2AppClientId(): string;
    get oauth2AppIntegrationId(): string;
    private _pendingDeployment;
    get pendingDeployment(): DataDatabricksAppsAppPendingDeploymentOutputReference;
    private _resources;
    get resources(): DataDatabricksAppsAppResourcesList;
    putResources(value: DataDatabricksAppsAppResources[] | cdktf.IResolvable): void;
    resetResources(): void;
    get resourcesInput(): cdktf.IResolvable | DataDatabricksAppsAppResources[] | undefined;
    get servicePrincipalClientId(): string;
    get servicePrincipalId(): number;
    get servicePrincipalName(): string;
    get updateTime(): string;
    get updater(): string;
    get url(): string;
    private _userApiScopes?;
    get userApiScopes(): string[];
    set userApiScopes(value: string[]);
    resetUserApiScopes(): void;
    get userApiScopesInput(): string[] | undefined;
}
export declare class DataDatabricksAppsAppList extends cdktf.ComplexList {
    protected terraformResource: cdktf.IInterpolatingParent;
    protected terraformAttribute: string;
    protected wrapsSet: boolean;
    internalValue?: DataDatabricksAppsApp[] | 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): DataDatabricksAppsAppOutputReference;
}
/**
* Represents a {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps databricks_apps}
*/
export declare class DataDatabricksApps extends cdktf.TerraformDataSource {
    static readonly tfResourceType = "databricks_apps";
    /**
    * Generates CDKTF code for importing a DataDatabricksApps 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 DataDatabricksApps to import
    * @param importFromId The id of the existing DataDatabricksApps that should be imported. Refer to the {@link https://registry.terraform.io/providers/databricks/databricks/1.71.0/docs/data-sources/apps#import import section} in the documentation of this resource for the id to use
    * @param provider? Optional instance of the provider where the DataDatabricksApps 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/databricks/databricks/1.71.0/docs/data-sources/apps databricks_apps} 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 DataDatabricksAppsConfig = {}
    */
    constructor(scope: Construct, id: string, config?: DataDatabricksAppsConfig);
    private _app;
    get app(): DataDatabricksAppsAppList;
    protected synthesizeAttributes(): {
        [name: string]: any;
    };
    protected synthesizeHclAttributes(): {
        [name: string]: any;
    };
}
