import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
 * > This feature is in [Public Preview](https://docs.databricks.com/release-notes/release-types.html).
 *
 * [Databricks Apps](https://docs.databricks.com/en/dev-tools/databricks-apps/index.html) run directly on a customer’s Databricks instance, integrate with their data, use and extend Databricks services, and enable users to interact through single sign-on. This resource creates the application but does not handle app deployment, which should be handled separately as part of your CI/CD pipeline.
 *
 * ## Import
 *
 * This resource can be imported by name:
 *
 * hcl
 *
 * import {
 *
 *   to = databricks_app.this
 *
 *   id = "<app_name>"
 *
 * }
 *
 * or using the `terraform` CLI:
 *
 * bash
 *
 * ```sh
 * $ pulumi import databricks:index/app:App this <app_name>
 * ```
 */
export declare class App extends pulumi.CustomResource {
    /**
     * Get an existing App resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AppState, opts?: pulumi.CustomResourceOptions): App;
    /**
     * Returns true if the given object is an instance of App.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is App;
    readonly activeDeployment: pulumi.Output<outputs.AppActiveDeployment>;
    /**
     * attribute
     */
    readonly appStatus: pulumi.Output<outputs.AppAppStatus>;
    /**
     * The Budget Policy ID set for this resource.
     */
    readonly budgetPolicyId: pulumi.Output<string | undefined>;
    /**
     * attribute
     */
    readonly computeStatus: pulumi.Output<outputs.AppComputeStatus>;
    /**
     * The creation time of the app.
     */
    readonly createTime: pulumi.Output<string>;
    /**
     * The email of the user that created the app.
     */
    readonly creator: pulumi.Output<string>;
    /**
     * The default workspace file system path of the source code from which app deployment are created. This field tracks the workspace source code path of the last active deployment.
     */
    readonly defaultSourceCodePath: pulumi.Output<string>;
    /**
     * The description of the app.
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * The effective budget policy ID.
     */
    readonly effectiveBudgetPolicyId: pulumi.Output<string>;
    /**
     * A list of effective api scopes granted to the user access token.
     */
    readonly effectiveUserApiScopes: pulumi.Output<string[]>;
    /**
     * The name of the app. The name must contain only lowercase alphanumeric characters and hyphens. It must be unique within the workspace.
     */
    readonly name: pulumi.Output<string>;
    readonly noCompute: pulumi.Output<boolean | undefined>;
    readonly oauth2AppClientId: pulumi.Output<string>;
    readonly oauth2AppIntegrationId: pulumi.Output<string>;
    readonly pendingDeployment: pulumi.Output<outputs.AppPendingDeployment>;
    /**
     * A list of resources that the app have access to.
     */
    readonly resources: pulumi.Output<outputs.AppResource[] | undefined>;
    readonly servicePrincipalClientId: pulumi.Output<string>;
    /**
     * id of the app service principal
     */
    readonly servicePrincipalId: pulumi.Output<number>;
    /**
     * name of the app service principal
     */
    readonly servicePrincipalName: pulumi.Output<string>;
    /**
     * The update time of the app.
     */
    readonly updateTime: pulumi.Output<string>;
    /**
     * The email of the user that last updated the app.
     */
    readonly updater: pulumi.Output<string>;
    /**
     * The URL of the app once it is deployed.
     */
    readonly url: pulumi.Output<string>;
    /**
     * A list of api scopes granted to the user access token.
     */
    readonly userApiScopes: pulumi.Output<string[] | undefined>;
    /**
     * Create a App resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args?: AppArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering App resources.
 */
export interface AppState {
    activeDeployment?: pulumi.Input<inputs.AppActiveDeployment>;
    /**
     * attribute
     */
    appStatus?: pulumi.Input<inputs.AppAppStatus>;
    /**
     * The Budget Policy ID set for this resource.
     */
    budgetPolicyId?: pulumi.Input<string>;
    /**
     * attribute
     */
    computeStatus?: pulumi.Input<inputs.AppComputeStatus>;
    /**
     * The creation time of the app.
     */
    createTime?: pulumi.Input<string>;
    /**
     * The email of the user that created the app.
     */
    creator?: pulumi.Input<string>;
    /**
     * The default workspace file system path of the source code from which app deployment are created. This field tracks the workspace source code path of the last active deployment.
     */
    defaultSourceCodePath?: pulumi.Input<string>;
    /**
     * The description of the app.
     */
    description?: pulumi.Input<string>;
    /**
     * The effective budget policy ID.
     */
    effectiveBudgetPolicyId?: pulumi.Input<string>;
    /**
     * A list of effective api scopes granted to the user access token.
     */
    effectiveUserApiScopes?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * The name of the app. The name must contain only lowercase alphanumeric characters and hyphens. It must be unique within the workspace.
     */
    name?: pulumi.Input<string>;
    noCompute?: pulumi.Input<boolean>;
    oauth2AppClientId?: pulumi.Input<string>;
    oauth2AppIntegrationId?: pulumi.Input<string>;
    pendingDeployment?: pulumi.Input<inputs.AppPendingDeployment>;
    /**
     * A list of resources that the app have access to.
     */
    resources?: pulumi.Input<pulumi.Input<inputs.AppResource>[]>;
    servicePrincipalClientId?: pulumi.Input<string>;
    /**
     * id of the app service principal
     */
    servicePrincipalId?: pulumi.Input<number>;
    /**
     * name of the app service principal
     */
    servicePrincipalName?: pulumi.Input<string>;
    /**
     * The update time of the app.
     */
    updateTime?: pulumi.Input<string>;
    /**
     * The email of the user that last updated the app.
     */
    updater?: pulumi.Input<string>;
    /**
     * The URL of the app once it is deployed.
     */
    url?: pulumi.Input<string>;
    /**
     * A list of api scopes granted to the user access token.
     */
    userApiScopes?: pulumi.Input<pulumi.Input<string>[]>;
}
/**
 * The set of arguments for constructing a App resource.
 */
export interface AppArgs {
    /**
     * The Budget Policy ID set for this resource.
     */
    budgetPolicyId?: pulumi.Input<string>;
    /**
     * The description of the app.
     */
    description?: pulumi.Input<string>;
    /**
     * The name of the app. The name must contain only lowercase alphanumeric characters and hyphens. It must be unique within the workspace.
     */
    name?: pulumi.Input<string>;
    noCompute?: pulumi.Input<boolean>;
    /**
     * A list of resources that the app have access to.
     */
    resources?: pulumi.Input<pulumi.Input<inputs.AppResource>[]>;
    /**
     * A list of api scopes granted to the user access token.
     */
    userApiScopes?: pulumi.Input<pulumi.Input<string>[]>;
}
