import * as pulumi from "@pulumi/pulumi";
/**
 * Provides a way to retrieve Sumo Logic role details (id, names, etc) for a role.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as sumologic from "@pulumi/sumologic";
 *
 * const _this = sumologic.getRole({
 *     name: "MyRole",
 * });
 * ```
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as sumologic from "@pulumi/sumologic";
 *
 * const that = sumologic.getRole({
 *     id: "1234567890",
 * });
 * ```
 *
 * A role can be looked up by either `id` or `name`. One of those attributes needs to be specified.
 *
 * If both `id` and `name` have been specified, `id` takes precedence.
 *
 * ## Attributes reference
 *
 * The following attributes are exported:
 *
 * - `id` - The internal ID of the role. This can be used to create users having that role.
 * - `name` - The name of the role.
 * - `description` - The description of the role.
 * - `filterPredicate` - The search filter to restrict access to specific logs.
 * - `capabilities` - The list of capabilities associated with the role.
 */
export declare function getRole(args?: GetRoleArgs, opts?: pulumi.InvokeOptions): Promise<GetRoleResult>;
/**
 * A collection of arguments for invoking getRole.
 */
export interface GetRoleArgs {
    id?: string;
    name?: string;
}
/**
 * A collection of values returned by getRole.
 */
export interface GetRoleResult {
    readonly capabilities: string[];
    readonly description: string;
    readonly filterPredicate: string;
    readonly id: string;
    readonly name: string;
}
/**
 * Provides a way to retrieve Sumo Logic role details (id, names, etc) for a role.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as sumologic from "@pulumi/sumologic";
 *
 * const _this = sumologic.getRole({
 *     name: "MyRole",
 * });
 * ```
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as sumologic from "@pulumi/sumologic";
 *
 * const that = sumologic.getRole({
 *     id: "1234567890",
 * });
 * ```
 *
 * A role can be looked up by either `id` or `name`. One of those attributes needs to be specified.
 *
 * If both `id` and `name` have been specified, `id` takes precedence.
 *
 * ## Attributes reference
 *
 * The following attributes are exported:
 *
 * - `id` - The internal ID of the role. This can be used to create users having that role.
 * - `name` - The name of the role.
 * - `description` - The description of the role.
 * - `filterPredicate` - The search filter to restrict access to specific logs.
 * - `capabilities` - The list of capabilities associated with the role.
 */
export declare function getRoleOutput(args?: GetRoleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetRoleResult>;
/**
 * A collection of arguments for invoking getRole.
 */
export interface GetRoleOutputArgs {
    id?: pulumi.Input<string>;
    name?: pulumi.Input<string>;
}
