import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to get information about the available instance. For more details refer the [API docs](https://cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const qa = gcp.memorystore.getInstance({});
 * ```
 */
export declare function getInstance(args: GetInstanceArgs, opts?: pulumi.InvokeOptions): Promise<GetInstanceResult>;
/**
 * A collection of arguments for invoking getInstance.
 */
export interface GetInstanceArgs {
    /**
     * The ID of the memorystore instance.
     * 'memorystore_instance_id'
     */
    instanceId: string;
    /**
     * (optional)
     * The canonical id of the location.If it is not provided, the provider project is used. For example: us-east1.
     */
    location?: string;
    /**
     * (optional)
     * The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
     */
    project?: string;
}
/**
 * A collection of values returned by getInstance.
 */
export interface GetInstanceResult {
    readonly authorizationMode: string;
    readonly createTime: string;
    readonly crossInstanceReplicationConfigs: outputs.memorystore.GetInstanceCrossInstanceReplicationConfig[];
    readonly deletionProtectionEnabled: boolean;
    readonly desiredPscAutoConnections: outputs.memorystore.GetInstanceDesiredPscAutoConnection[];
    readonly discoveryEndpoints: outputs.memorystore.GetInstanceDiscoveryEndpoint[];
    readonly effectiveLabels: {
        [key: string]: string;
    };
    readonly endpoints: outputs.memorystore.GetInstanceEndpoint[];
    readonly engineConfigs: {
        [key: string]: string;
    };
    readonly engineVersion: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly instanceId: string;
    readonly labels: {
        [key: string]: string;
    };
    readonly location?: string;
    readonly maintenancePolicies: outputs.memorystore.GetInstanceMaintenancePolicy[];
    readonly maintenanceSchedules: outputs.memorystore.GetInstanceMaintenanceSchedule[];
    readonly mode: string;
    readonly name: string;
    readonly nodeConfigs: outputs.memorystore.GetInstanceNodeConfig[];
    readonly nodeType: string;
    readonly persistenceConfigs: outputs.memorystore.GetInstancePersistenceConfig[];
    readonly project?: string;
    readonly pscAttachmentDetails: outputs.memorystore.GetInstancePscAttachmentDetail[];
    readonly pscAutoConnections: outputs.memorystore.GetInstancePscAutoConnection[];
    readonly pulumiLabels: {
        [key: string]: string;
    };
    readonly replicaCount: number;
    readonly shardCount: number;
    readonly state: string;
    readonly stateInfos: outputs.memorystore.GetInstanceStateInfo[];
    readonly transitEncryptionMode: string;
    readonly uid: string;
    readonly updateTime: string;
    readonly zoneDistributionConfigs: outputs.memorystore.GetInstanceZoneDistributionConfig[];
}
/**
 * Use this data source to get information about the available instance. For more details refer the [API docs](https://cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const qa = gcp.memorystore.getInstance({});
 * ```
 */
export declare function getInstanceOutput(args: GetInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetInstanceResult>;
/**
 * A collection of arguments for invoking getInstance.
 */
export interface GetInstanceOutputArgs {
    /**
     * The ID of the memorystore instance.
     * 'memorystore_instance_id'
     */
    instanceId: pulumi.Input<string>;
    /**
     * (optional)
     * The canonical id of the location.If it is not provided, the provider project is used. For example: us-east1.
     */
    location?: pulumi.Input<string>;
    /**
     * (optional)
     * The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
     */
    project?: pulumi.Input<string>;
}
