import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Creates an application instance and deploys it to a device.
 */
export declare class ApplicationInstance extends pulumi.CustomResource {
    /**
     * Get an existing ApplicationInstance 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 opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): ApplicationInstance;
    /**
     * Returns true if the given object is an instance of ApplicationInstance.  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 ApplicationInstance;
    /**
     * The application instance's ID.
     */
    readonly applicationInstanceId: pulumi.Output<string>;
    /**
     * The ID of an application instance to replace with the new instance.
     */
    readonly applicationInstanceIdToReplace: pulumi.Output<string | undefined>;
    /**
     * The application instance's ARN.
     */
    readonly arn: pulumi.Output<string>;
    /**
     * The application instance's created time.
     */
    readonly createdTime: pulumi.Output<number>;
    /**
     * The device's ID.
     */
    readonly defaultRuntimeContextDevice: pulumi.Output<string>;
    /**
     * The application instance's default runtime context device name.
     */
    readonly defaultRuntimeContextDeviceName: pulumi.Output<string>;
    /**
     * A description for the application instance.
     */
    readonly description: pulumi.Output<string | undefined>;
    /**
     * The application instance's health status.
     */
    readonly healthStatus: pulumi.Output<enums.panorama.ApplicationInstanceHealthStatus>;
    /**
     * The application instance's last updated time.
     */
    readonly lastUpdatedTime: pulumi.Output<number>;
    /**
     * Setting overrides for the application manifest.
     */
    readonly manifestOverridesPayload: pulumi.Output<outputs.panorama.ApplicationInstanceManifestOverridesPayload | undefined>;
    /**
     * The application's manifest document.
     */
    readonly manifestPayload: pulumi.Output<outputs.panorama.ApplicationInstanceManifestPayload>;
    /**
     * A name for the application instance.
     */
    readonly name: pulumi.Output<string | undefined>;
    /**
     * The ARN of a runtime role for the application instance.
     */
    readonly runtimeRoleArn: pulumi.Output<string | undefined>;
    /**
     * The application instance's status.
     */
    readonly status: pulumi.Output<enums.panorama.ApplicationInstanceStatus>;
    /**
     * The application instance's status description.
     */
    readonly statusDescription: pulumi.Output<string>;
    /**
     * Tags for the application instance.
     */
    readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
    /**
     * Create a ApplicationInstance 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: ApplicationInstanceArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * The set of arguments for constructing a ApplicationInstance resource.
 */
export interface ApplicationInstanceArgs {
    /**
     * The ID of an application instance to replace with the new instance.
     */
    applicationInstanceIdToReplace?: pulumi.Input<string>;
    /**
     * The device's ID.
     */
    defaultRuntimeContextDevice: pulumi.Input<string>;
    /**
     * A description for the application instance.
     */
    description?: pulumi.Input<string>;
    /**
     * Setting overrides for the application manifest.
     */
    manifestOverridesPayload?: pulumi.Input<inputs.panorama.ApplicationInstanceManifestOverridesPayloadArgs>;
    /**
     * The application's manifest document.
     */
    manifestPayload: pulumi.Input<inputs.panorama.ApplicationInstanceManifestPayloadArgs>;
    /**
     * A name for the application instance.
     */
    name?: pulumi.Input<string>;
    /**
     * The ARN of a runtime role for the application instance.
     */
    runtimeRoleArn?: pulumi.Input<string>;
    /**
     * Tags for the application instance.
     */
    tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
}
