import { IHttpClient } from "./IHttpClient"; /** * A roles determines what permissions {@link User | users} have on a {@link Project | project}. */ export declare class Role { private _data; protected projectId: string; protected httpClient: IHttpClient; /** * @param data - An object that implements role data storage. * @param projectId - Owner project ID. * @param httpClient - Http client. */ constructor(data: any, projectId: string, httpClient: IHttpClient); private internalGet; private internalPut; private internalDelete; /** * Role description. */ get description(): string; set description(value: string); /** * Raw role data received from the server. * * @readonly */ get data(): any; set data(value: any); /** * Role name. */ get name(): string; set name(value: string); /** * Role actions are allowed to be performed. * * @property {string[]} projectActions - Actions are allowed to be performed at the project * level: `update`, `createTopic`, `createDocument`. * @property {string[]} topicActions - Actions are allowed to be performed at the topic * level: `update`, `updateBimSnippet`, `updateRelatedTopics`, `updateDocumentReferences`, * `updateFiles`, `createComment`, `createViewpoint`, `delete`. * @property {string[]} commentActions - Actions are allowed to be performed at the comment * level: `update`, `delete`. * @property {string[]} viewpointActions - Actions are allowed to be performed at the * viewpoint level: `delete`. * @property {string[]} odaGroupActions - Actions are allowed to be performed at the members * level: `update`, `delete`. * @property {string[]} odaRoleActions - Actions are allowed to be performed at the roles * level: `update`, `delete`. */ get permissions(): any; set permissions(value: any); /** * Refresh role data. * * @async */ checkout(): Promise; /** * Update role data on the server. * * @async * @param data - Raw role data. */ update(data: any): Promise; /** * Delete a role from the project. * * @async * @returns Returns the raw data of a deleted role. */ delete(): Promise; /** * Save role data changes to the server. Call this method to update role data on the server * after any changes. * * @async */ save(): Promise; } //# sourceMappingURL=Role.d.ts.map