import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to access information about existing Role Assignments.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const exampleResourceGroup = new azure.core.ResourceGroup("example", {
 *     name: "example",
 *     location: "West Europe",
 * });
 * const example = azure.pim.getRoleAssignmentsOutput({
 *     scope: exampleResourceGroup.id,
 * });
 * export const id = example.apply(example => example.roleAssignments);
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This data source uses the following Azure API Providers:
 *
 * * `Microsoft.Authorization` - 2022-04-01
 */
export declare function getRoleAssignments(args: GetRoleAssignmentsArgs, opts?: pulumi.InvokeOptions): Promise<GetRoleAssignmentsResult>;
/**
 * A collection of arguments for invoking getRoleAssignments.
 */
export interface GetRoleAssignmentsArgs {
    /**
     * Whether to limit the result exactly at the specified scope and not above or below it. Defaults to `false`.
     */
    limitAtScope?: boolean;
    /**
     * The principal ID to filter the list of Role Assignments against.
     */
    principalId?: string;
    /**
     * The scope at which to list Role Assignments.
     */
    scope: string;
    /**
     * The tenant ID for cross-tenant requests.
     */
    tenantId?: string;
}
/**
 * A collection of values returned by getRoleAssignments.
 */
export interface GetRoleAssignmentsResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly limitAtScope?: boolean;
    /**
     * The principal ID.
     */
    readonly principalId?: string;
    /**
     * A `roleAssignments` block as defined below.
     */
    readonly roleAssignments: outputs.pim.GetRoleAssignmentsRoleAssignment[];
    readonly scope: string;
    readonly tenantId?: string;
}
/**
 * Use this data source to access information about existing Role Assignments.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as azure from "@pulumi/azure";
 *
 * const exampleResourceGroup = new azure.core.ResourceGroup("example", {
 *     name: "example",
 *     location: "West Europe",
 * });
 * const example = azure.pim.getRoleAssignmentsOutput({
 *     scope: exampleResourceGroup.id,
 * });
 * export const id = example.apply(example => example.roleAssignments);
 * ```
 *
 * ## API Providers
 *
 * <!-- This section is generated, changes will be overwritten -->
 * This data source uses the following Azure API Providers:
 *
 * * `Microsoft.Authorization` - 2022-04-01
 */
export declare function getRoleAssignmentsOutput(args: GetRoleAssignmentsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetRoleAssignmentsResult>;
/**
 * A collection of arguments for invoking getRoleAssignments.
 */
export interface GetRoleAssignmentsOutputArgs {
    /**
     * Whether to limit the result exactly at the specified scope and not above or below it. Defaults to `false`.
     */
    limitAtScope?: pulumi.Input<boolean | undefined>;
    /**
     * The principal ID to filter the list of Role Assignments against.
     */
    principalId?: pulumi.Input<string | undefined>;
    /**
     * The scope at which to list Role Assignments.
     */
    scope: pulumi.Input<string>;
    /**
     * The tenant ID for cross-tenant requests.
     */
    tenantId?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getRoleAssignments.d.ts.map