import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to get information about a Google Cloud Privileged Access Manager Entitlement.
 *
 * To get more information about Privileged Access Manager, see:
 *
 * * [API Documentation](https://cloud.google.com/iam/docs/reference/pam/rest)
 * * How-to guides
 *   * [Official documentation](https://cloud.google.com/iam/docs/pam-overview)
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_entitlement = gcp.privilegedaccessmanager.getEntitlement({
 *     parent: "projects/my-project",
 *     location: "global",
 *     entitlementId: "my-entitlement",
 * });
 * ```
 */
export declare function getEntitlement(args?: GetEntitlementArgs, opts?: pulumi.InvokeOptions): Promise<GetEntitlementResult>;
/**
 * A collection of arguments for invoking getEntitlement.
 */
export interface GetEntitlementArgs {
    /**
     * ID of the Entitlement resource. This is the last part of the Entitlement's full name which is of the format `{parent}/locations/{location}/entitlements/{entitlement_id}`.
     */
    entitlementId?: string;
    /**
     * The region of the Entitlement resource.
     */
    location?: string;
    /**
     * The project or folder or organization that contains the resource. Format: projects/{project-id|project-number} or folders/{folder-number}  or organizations/{organization-number}
     */
    parent?: string;
}
/**
 * A collection of values returned by getEntitlement.
 */
export interface GetEntitlementResult {
    readonly additionalNotificationTargets: outputs.privilegedaccessmanager.GetEntitlementAdditionalNotificationTarget[];
    readonly approvalWorkflows: outputs.privilegedaccessmanager.GetEntitlementApprovalWorkflow[];
    readonly createTime: string;
    readonly deletionPolicy: string;
    readonly eligibleUsers: outputs.privilegedaccessmanager.GetEntitlementEligibleUser[];
    readonly entitlementId?: string;
    readonly etag: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly location?: string;
    readonly maxRequestDuration: string;
    readonly name: string;
    readonly parent?: string;
    readonly privilegedAccesses: outputs.privilegedaccessmanager.GetEntitlementPrivilegedAccess[];
    readonly requesterJustificationConfigs: outputs.privilegedaccessmanager.GetEntitlementRequesterJustificationConfig[];
    readonly state: string;
    readonly updateTime: string;
}
/**
 * Use this data source to get information about a Google Cloud Privileged Access Manager Entitlement.
 *
 * To get more information about Privileged Access Manager, see:
 *
 * * [API Documentation](https://cloud.google.com/iam/docs/reference/pam/rest)
 * * How-to guides
 *   * [Official documentation](https://cloud.google.com/iam/docs/pam-overview)
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 *
 * const my_entitlement = gcp.privilegedaccessmanager.getEntitlement({
 *     parent: "projects/my-project",
 *     location: "global",
 *     entitlementId: "my-entitlement",
 * });
 * ```
 */
export declare function getEntitlementOutput(args?: GetEntitlementOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetEntitlementResult>;
/**
 * A collection of arguments for invoking getEntitlement.
 */
export interface GetEntitlementOutputArgs {
    /**
     * ID of the Entitlement resource. This is the last part of the Entitlement's full name which is of the format `{parent}/locations/{location}/entitlements/{entitlement_id}`.
     */
    entitlementId?: pulumi.Input<string | undefined>;
    /**
     * The region of the Entitlement resource.
     */
    location?: pulumi.Input<string | undefined>;
    /**
     * The project or folder or organization that contains the resource. Format: projects/{project-id|project-number} or folders/{folder-number}  or organizations/{organization-number}
     */
    parent?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getEntitlement.d.ts.map