import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Get info about a Google CAS Certificate Authority.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const _default = gcp.certificateauthority.getAuthority({
 *     location: "us-west1",
 *     pool: "pool-name",
 *     certificateAuthorityId: "ca-id",
 * });
 * export const csr = _default.then(_default => _default.pemCsr);
 * ```
 */
export declare function getAuthority(args?: GetAuthorityArgs, opts?: pulumi.InvokeOptions): Promise<GetAuthorityResult>;
/**
 * A collection of arguments for invoking getAuthority.
 */
export interface GetAuthorityArgs {
    /**
     * ID of the certificate authority.
     *
     * - - -
     */
    certificateAuthorityId?: string;
    /**
     * The location the certificate authority exists in.
     */
    location?: string;
    /**
     * The name of the pool the certificate authority belongs to.
     */
    pool?: string;
    /**
     * 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 getAuthority.
 */
export interface GetAuthorityResult {
    readonly accessUrls: outputs.certificateauthority.GetAuthorityAccessUrl[];
    readonly certificateAuthorityId?: string;
    readonly configs: outputs.certificateauthority.GetAuthorityConfig[];
    readonly createTime: string;
    readonly deletionProtection: boolean;
    readonly desiredState: string;
    readonly effectiveLabels: {
        [key: string]: string;
    };
    readonly gcsBucket: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly ignoreActiveCertificatesOnDeletion: boolean;
    readonly keySpecs: outputs.certificateauthority.GetAuthorityKeySpec[];
    readonly labels: {
        [key: string]: string;
    };
    readonly lifetime: string;
    readonly location?: string;
    readonly name: string;
    readonly pemCaCertificate: string;
    readonly pemCaCertificates: string[];
    /**
     * The PEM-encoded signed certificate signing request (CSR). This is only set on subordinate certificate authorities that are awaiting user activation.
     */
    readonly pemCsr: string;
    readonly pool?: string;
    readonly project?: string;
    readonly pulumiLabels: {
        [key: string]: string;
    };
    readonly skipGracePeriod: boolean;
    readonly state: string;
    readonly subordinateConfigs: outputs.certificateauthority.GetAuthoritySubordinateConfig[];
    readonly type: string;
    readonly updateTime: string;
    readonly userDefinedAccessUrls: outputs.certificateauthority.GetAuthorityUserDefinedAccessUrl[];
}
/**
 * Get info about a Google CAS Certificate Authority.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const _default = gcp.certificateauthority.getAuthority({
 *     location: "us-west1",
 *     pool: "pool-name",
 *     certificateAuthorityId: "ca-id",
 * });
 * export const csr = _default.then(_default => _default.pemCsr);
 * ```
 */
export declare function getAuthorityOutput(args?: GetAuthorityOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetAuthorityResult>;
/**
 * A collection of arguments for invoking getAuthority.
 */
export interface GetAuthorityOutputArgs {
    /**
     * ID of the certificate authority.
     *
     * - - -
     */
    certificateAuthorityId?: pulumi.Input<string>;
    /**
     * The location the certificate authority exists in.
     */
    location?: pulumi.Input<string>;
    /**
     * The name of the pool the certificate authority belongs to.
     */
    pool?: pulumi.Input<string>;
    /**
     * The ID of the project in which the resource belongs. If it
     * is not provided, the provider project is used.
     */
    project?: pulumi.Input<string>;
}
