# This file was auto-generated by Fern from our API Definition.

import typing

import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel


class UiAccessActions(UniversalBaseModel):
    """
    Boolean flags for UI action availability.
    """

    invite_user: typing.Optional[bool] = None
    deactivate_user: typing.Optional[bool] = None
    remove_user: typing.Optional[bool] = None
    manage_roles: typing.Optional[bool] = None
    assign_roles: typing.Optional[bool] = None
    manage_departments: typing.Optional[bool] = None
    create_subdepartment: typing.Optional[bool] = None
    reparent_department: typing.Optional[bool] = None
    manage_knowledge: typing.Optional[bool] = None
    create_knowledge: typing.Optional[bool] = None
    view_all_knowledge: typing.Optional[bool] = None
    create_connectors: typing.Optional[bool] = None
    create_spaces: typing.Optional[bool] = None
    view_all_spaces: typing.Optional[bool] = None
    view_members: typing.Optional[bool] = None
    change_preset: typing.Optional[bool] = None
    view_audit_log: typing.Optional[bool] = None
    export_audit_log: typing.Optional[bool] = None
    manage_billing: typing.Optional[bool] = None
    use_meeting_buddy: typing.Optional[bool] = None
    view_all_meetings: typing.Optional[bool] = None
    manage_meetings: typing.Optional[bool] = None

    if IS_PYDANTIC_V2:
        model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)  # type: ignore # Pydantic v2
    else:

        class Config:
            frozen = True
            smart_union = True
            extra = pydantic.Extra.allow
