import type { Permission } from './Permission';
/**
 *
 * @export
 * @interface RoleCreate
 */
export interface RoleCreate {
    /**
     * The permissions granted to users with this role.
     * @type {Set<Permission>}
     * @memberof RoleCreate
     */
    permissions?: Set<Permission>;
    /**
     * The name used to identify the role.
     * @type {{ [key: string]: string; }}
     * @memberof RoleCreate
     */
    name?: {
        [key: string]: string;
    };
    /**
     * Whether users with this role are required to use two-factor authentication.
     * @type {boolean}
     * @memberof RoleCreate
     */
    twoFactorRequired?: boolean;
    /**
     * The account the role belongs to. The role can only be assigned within this account.
     * @type {number}
     * @memberof RoleCreate
     */
    account: number;
}
/**
 * Check if a given object implements the RoleCreate interface.
 */
export declare function instanceOfRoleCreate(value: object): value is RoleCreate;
export declare function RoleCreateFromJSON(json: any): RoleCreate;
export declare function RoleCreateFromJSONTyped(json: any, ignoreDiscriminator: boolean): RoleCreate;
export declare function RoleCreateToJSON(json: any): RoleCreate;
export declare function RoleCreateToJSONTyped(value?: RoleCreate | null, ignoreDiscriminator?: boolean): any;
