import * as pulumi from "@pulumi/pulumi";
/**
 * Retrieves information about all the available roles.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
 *
 * const availableRoles = proxmoxve.Permission.getRoles({});
 * ```
 */
export declare function getRoles(opts?: pulumi.InvokeOptions): Promise<GetRolesResult>;
/**
 * A collection of values returned by getRoles.
 */
export interface GetRolesResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The role privileges.
     */
    readonly privileges: string[][];
    /**
     * The role identifiers.
     */
    readonly roleIds: string[];
    /**
     * Whether the role is special (built-in).
     */
    readonly specials: boolean[];
}
/**
 * Retrieves information about all the available roles.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
 *
 * const availableRoles = proxmoxve.Permission.getRoles({});
 * ```
 */
export declare function getRolesOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetRolesResult>;
