import * as pulumi from "@pulumi/pulumi";
/**
 * Use this data source to access information about a Built-In Policy Definition. Retrieves Policy Definitions from your current subscription by default.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = azure.policy.getPolicyDefintionBuiltIn({
 *     displayName: "Allowed resource types",
 * });
 * export const id = example.then(example => example.id);
 * ```
 */
export declare function getPolicyDefintionBuiltIn(args?: GetPolicyDefintionBuiltInArgs, opts?: pulumi.InvokeOptions): Promise<GetPolicyDefintionBuiltInResult>;
/**
 * A collection of arguments for invoking getPolicyDefintionBuiltIn.
 */
export interface GetPolicyDefintionBuiltInArgs {
    /**
     * Specifies the display name of the Policy Definition. Conflicts with `name`.
     *
     * > **Note:** As `displayName` is not unique errors may occur when there are multiple policy definitions with same display name.
     */
    displayName?: string;
    /**
     * Only retrieve Policy Definitions from this Management Group.
     */
    managementGroupName?: string;
    /**
     * Specifies the name of the Policy Definition. Conflicts with `displayName`.
     */
    name?: string;
}
/**
 * A collection of values returned by getPolicyDefintionBuiltIn.
 */
export interface GetPolicyDefintionBuiltInResult {
    /**
     * The Description of the Policy.
     */
    readonly description: string;
    readonly displayName: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly managementGroupName?: string;
    /**
     * Any Metadata defined in the Policy.
     */
    readonly metadata: string;
    /**
     * The Mode of the Policy.
     */
    readonly mode: string;
    readonly name: string;
    /**
     * Any Parameters defined in the Policy.
     */
    readonly parameters: string;
    /**
     * The Rule as defined (in JSON) in the Policy.
     */
    readonly policyRule: string;
    /**
     * The Type of the Policy. Possible values are `BuiltIn`, `Custom` and `NotSpecified`.
     */
    readonly policyType: string;
    /**
     * A list of role definition id extracted from `policyRule` required for remediation.
     */
    readonly roleDefinitionIds: string[];
    /**
     * The Type of Policy.
     */
    readonly type: string;
}
/**
 * Use this data source to access information about a Built-In Policy Definition. Retrieves Policy Definitions from your current subscription by default.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const example = azure.policy.getPolicyDefintionBuiltIn({
 *     displayName: "Allowed resource types",
 * });
 * export const id = example.then(example => example.id);
 * ```
 */
export declare function getPolicyDefintionBuiltInOutput(args?: GetPolicyDefintionBuiltInOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetPolicyDefintionBuiltInResult>;
/**
 * A collection of arguments for invoking getPolicyDefintionBuiltIn.
 */
export interface GetPolicyDefintionBuiltInOutputArgs {
    /**
     * Specifies the display name of the Policy Definition. Conflicts with `name`.
     *
     * > **Note:** As `displayName` is not unique errors may occur when there are multiple policy definitions with same display name.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * Only retrieve Policy Definitions from this Management Group.
     */
    managementGroupName?: pulumi.Input<string | undefined>;
    /**
     * Specifies the name of the Policy Definition. Conflicts with `displayName`.
     */
    name?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getPolicyDefintionBuiltIn.d.ts.map