import type { Permission } from './Permission';
/**
 *
 * @export
 * @interface RoleUpdate
 */
export interface RoleUpdate {
    /**
     * The permissions granted to users with this role.
     * @type {Set<Permission>}
     * @memberof RoleUpdate
     */
    permissions?: Set<Permission>;
    /**
     * The name used to identify the role.
     * @type {{ [key: string]: string; }}
     * @memberof RoleUpdate
     */
    name?: {
        [key: string]: string;
    };
    /**
     * Whether users with this role are required to use two-factor authentication.
     * @type {boolean}
     * @memberof RoleUpdate
     */
    twoFactorRequired?: boolean;
    /**
     * The version number indicates the version of the entity. The version is incremented whenever the entity is changed.
     * @type {number}
     * @memberof RoleUpdate
     */
    version: number;
}
/**
 * Check if a given object implements the RoleUpdate interface.
 */
export declare function instanceOfRoleUpdate(value: object): value is RoleUpdate;
export declare function RoleUpdateFromJSON(json: any): RoleUpdate;
export declare function RoleUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): RoleUpdate;
export declare function RoleUpdateToJSON(json: any): RoleUpdate;
export declare function RoleUpdateToJSONTyped(value?: RoleUpdate | null, ignoreDiscriminator?: boolean): any;
