/**
 *
 * @export
 * @interface UserAccountRole
 */
export interface UserAccountRole {
    /**
     * The role that is assigned to the user.
     * @type {number}
     * @memberof UserAccountRole
     */
    readonly role?: number;
    /**
     * A unique identifier for the object.
     * @type {number}
     * @memberof UserAccountRole
     */
    readonly id?: number;
    /**
     * Whether the role is assigned to the user in subaccounts only.
     * @type {boolean}
     * @memberof UserAccountRole
     */
    readonly appliesOnSubAccount?: boolean;
    /**
     * The user whose role this defines.
     * @type {number}
     * @memberof UserAccountRole
     */
    readonly user?: number;
    /**
     * The version is used for optimistic locking and incremented whenever the object is updated.
     * @type {number}
     * @memberof UserAccountRole
     */
    readonly version?: number;
    /**
     * The account in which the role is assigned to the user.
     * @type {number}
     * @memberof UserAccountRole
     */
    readonly account?: number;
}
/**
 * Check if a given object implements the UserAccountRole interface.
 */
export declare function instanceOfUserAccountRole(value: object): value is UserAccountRole;
export declare function UserAccountRoleFromJSON(json: any): UserAccountRole;
export declare function UserAccountRoleFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserAccountRole;
export declare function UserAccountRoleToJSON(json: any): UserAccountRole;
export declare function UserAccountRoleToJSONTyped(value?: Omit<UserAccountRole, 'role' | 'id' | 'appliesOnSubAccount' | 'user' | 'version' | 'account'> | null, ignoreDiscriminator?: boolean): any;
