import * as pulumi from "@pulumi/pulumi";
import * as outputs from "./types/output";
/**
 * Use this data source to get all Roles in Wavefront.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as wavefront from "@pulumi/wavefront";
 *
 * // Get all Roles
 * const roles = wavefront.getRoles({
 *     limit: 10,
 *     offset: 0,
 * });
 * ```
 */
export declare function getRoles(args?: GetRolesArgs, opts?: pulumi.InvokeOptions): Promise<GetRolesResult>;
/**
 * A collection of arguments for invoking getRoles.
 */
export interface GetRolesArgs {
    /**
     * Limit is the maximum number of results to be returned. Defaults to 100.
     */
    limit?: number;
    /**
     * Offset is the offset from the first result to be returned. Defaults to 0.
     */
    offset?: number;
}
/**
 * A collection of values returned by getRoles.
 */
export interface GetRolesResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly limit?: number;
    readonly offset?: number;
    /**
     * List of Wavefront Roles.
     */
    readonly roles: outputs.GetRolesRole[];
}
/**
 * Use this data source to get all Roles in Wavefront.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as wavefront from "@pulumi/wavefront";
 *
 * // Get all Roles
 * const roles = wavefront.getRoles({
 *     limit: 10,
 *     offset: 0,
 * });
 * ```
 */
export declare function getRolesOutput(args?: GetRolesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetRolesResult>;
/**
 * A collection of arguments for invoking getRoles.
 */
export interface GetRolesOutputArgs {
    /**
     * Limit is the maximum number of results to be returned. Defaults to 100.
     */
    limit?: pulumi.Input<number>;
    /**
     * Offset is the offset from the first result to be returned. Defaults to 0.
     */
    offset?: pulumi.Input<number>;
}
