import type { Permission } from './Permission';
/**
 *
 * @export
 * @interface AbstractRoleUpdate
 */
export interface AbstractRoleUpdate {
    /**
     * The permissions granted to users with this role.
     * @type {Set<Permission>}
     * @memberof AbstractRoleUpdate
     */
    permissions?: Set<Permission>;
    /**
     * The name used to identify the role.
     * @type {{ [key: string]: string; }}
     * @memberof AbstractRoleUpdate
     */
    name?: {
        [key: string]: string;
    };
    /**
     * Whether users with this role are required to use two-factor authentication.
     * @type {boolean}
     * @memberof AbstractRoleUpdate
     */
    twoFactorRequired?: boolean;
}
/**
 * Check if a given object implements the AbstractRoleUpdate interface.
 */
export declare function instanceOfAbstractRoleUpdate(value: object): value is AbstractRoleUpdate;
export declare function AbstractRoleUpdateFromJSON(json: any): AbstractRoleUpdate;
export declare function AbstractRoleUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): AbstractRoleUpdate;
export declare function AbstractRoleUpdateToJSON(json: any): AbstractRoleUpdate;
export declare function AbstractRoleUpdateToJSONTyped(value?: AbstractRoleUpdate | null, ignoreDiscriminator?: boolean): any;
