import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { GrafanaClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GrafanaClient"; import type { ListPermissionsRequest, ListPermissionsResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link ListPermissionsCommand}. */ export interface ListPermissionsCommandInput extends ListPermissionsRequest { } /** * @public * * The output of {@link ListPermissionsCommand}. */ export interface ListPermissionsCommandOutput extends ListPermissionsResponse, __MetadataBearer { } declare const ListPermissionsCommand_base: { new (input: ListPermissionsCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: ListPermissionsCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Lists the users and groups who have the Grafana Admin and Editor roles in this workspace. If you use this operation without specifying userId or groupId, the operation returns the roles of all users and groups. If you specify a userId or a groupId, only the roles for that user or group are returned. If you do this, you can specify only one userId or one groupId.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { GrafanaClient, ListPermissionsCommand } from "@aws-sdk/client-grafana"; // ES Modules import * // const { GrafanaClient, ListPermissionsCommand } = require("@aws-sdk/client-grafana"); // CommonJS import * // import type { GrafanaClientConfig } from "@aws-sdk/client-grafana"; * const config = {}; // type is GrafanaClientConfig * const client = new GrafanaClient(config); * const input = { // ListPermissionsRequest * maxResults: Number("int"), * nextToken: "STRING_VALUE", * userType: "STRING_VALUE", * userId: "STRING_VALUE", * groupId: "STRING_VALUE", * workspaceId: "STRING_VALUE", // required * }; * const command = new ListPermissionsCommand(input); * const response = await client.send(command); * // { // ListPermissionsResponse * // nextToken: "STRING_VALUE", * // permissions: [ // PermissionEntryList // required * // { // PermissionEntry * // user: { // User * // id: "STRING_VALUE", // required * // type: "STRING_VALUE", // required * // }, * // role: "STRING_VALUE", // required * // }, * // ], * // }; * * ``` * * @param ListPermissionsCommandInput - {@link ListPermissionsCommandInput} * @returns {@link ListPermissionsCommandOutput} * @see {@link ListPermissionsCommandInput} for command's `input` shape. * @see {@link ListPermissionsCommandOutput} for command's `response` shape. * @see {@link GrafanaClientResolvedConfig | config} for GrafanaClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

You do not have sufficient permissions to perform this action.

* * @throws {@link InternalServerException} (server fault) *

Unexpected error while processing the request. Retry the request.

* * @throws {@link ResourceNotFoundException} (client fault) *

The request references a resource that does not exist.

* * @throws {@link ThrottlingException} (client fault) *

The request was denied because of request throttling. Retry the request.

* * @throws {@link ValidationException} (client fault) *

The value of a parameter in the request caused an error.

* * @throws {@link GrafanaServiceException} *

Base exception class for all service exceptions from Grafana service.

* * * @public */ export declare class ListPermissionsCommand extends ListPermissionsCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: ListPermissionsRequest; output: ListPermissionsResponse; }; sdk: { input: ListPermissionsCommandInput; output: ListPermissionsCommandOutput; }; }; }