import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to get information about a Cloud SQL instance.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const qa = gcp.sql.getDatabaseInstance({
 *     name: "test-sql-instance",
 * });
 * ```
 */
export declare function getDatabaseInstance(args: GetDatabaseInstanceArgs, opts?: pulumi.InvokeOptions): Promise<GetDatabaseInstanceResult>;
/**
 * A collection of arguments for invoking getDatabaseInstance.
 */
export interface GetDatabaseInstanceArgs {
    /**
     * The name of the instance.
     */
    name: string;
    /**
     * The ID of the project in which the resource belongs.
     */
    project?: string;
}
/**
 * A collection of values returned by getDatabaseInstance.
 */
export interface GetDatabaseInstanceResult {
    readonly availableMaintenanceVersions: string[];
    readonly clones: outputs.sql.GetDatabaseInstanceClone[];
    readonly connectionName: string;
    readonly databaseVersion: string;
    readonly deletionProtection: boolean;
    readonly dnsName: string;
    readonly encryptionKeyName: string;
    readonly firstIpAddress: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly instanceType: string;
    readonly ipAddresses: outputs.sql.GetDatabaseInstanceIpAddress[];
    readonly maintenanceVersion: string;
    readonly masterInstanceName: string;
    readonly name: string;
    readonly privateIpAddress: string;
    readonly project?: string;
    readonly pscServiceAttachmentLink: string;
    readonly publicIpAddress: string;
    readonly region: string;
    readonly replicaConfigurations: outputs.sql.GetDatabaseInstanceReplicaConfiguration[];
    readonly replicaNames: string[];
    readonly replicationClusters: outputs.sql.GetDatabaseInstanceReplicationCluster[];
    readonly restoreBackupContexts: outputs.sql.GetDatabaseInstanceRestoreBackupContext[];
    readonly rootPassword: string;
    readonly selfLink: string;
    readonly serverCaCerts: outputs.sql.GetDatabaseInstanceServerCaCert[];
    readonly serviceAccountEmailAddress: string;
    readonly settings: outputs.sql.GetDatabaseInstanceSetting[];
}
/**
 * Use this data source to get information about a Cloud SQL instance.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const qa = gcp.sql.getDatabaseInstance({
 *     name: "test-sql-instance",
 * });
 * ```
 */
export declare function getDatabaseInstanceOutput(args: GetDatabaseInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDatabaseInstanceResult>;
/**
 * A collection of arguments for invoking getDatabaseInstance.
 */
export interface GetDatabaseInstanceOutputArgs {
    /**
     * The name of the instance.
     */
    name: pulumi.Input<string>;
    /**
     * The ID of the project in which the resource belongs.
     */
    project?: pulumi.Input<string>;
}
