from databases.language_models.account.account import (
    AccountBooksLanguageModel,
    AccountDetailLanguageModel,
    AccountMasterLanguageModel,
    AccountRecordExchangesLanguageModel,
    AccountCodesLanguageModel,
    AccountRecordsLanguageModel,
    AccountCodeParserLanguageModel,
)
from databases.language_models.account.iban import (
    BuildIbansLanguageModel,
    BuildIbanDescriptionLanguageModel,
)
from databases.language_models.building.budget import (
    DecisionBookBudgetBooksLanguageModel,
    DecisionBookBudgetMasterLanguageModel,
    DecisionBookBudgetCodesLanguageModel,
    DecisionBookBudgetsLanguageModel,
)
from databases.language_models.building.build import (
    BuildTypesLanguageModel,
    BuildAreaLanguageModel,
    BuildLanguageModel,
    BuildPartsLanguageModel,
    RelationshipEmployee2BuildLanguageModel,
    BuildSitesLanguageModel,
    BuildManagementLanguageModel,
    BuildCompaniesProvidingLanguageModel,
    Part2EmployeeLanguageModel,
    BuildLivingSpaceLanguageModel,
    BuildPersonProvidingLanguageModel,
)
from databases.language_models.building.decision_book import (
    BuildDecisionBookPaymentsLanguageModel,
    BuildDecisionBookItemsLanguageModel,
    BuildDecisionBookLegalLanguageModel,
    BuildDecisionBookLanguageModel,
    BuildDecisionBookProjectPersonLanguageModel,
    BuildDecisionBookInvitationsLanguageModel,
    BuildDecisionBookProjectsLanguageModel,
    BuildDecisionBookPersonLanguageModel,
    BuildDecisionBookProjectItemsLanguageModel,
    BuildDecisionBookItemsUnapprovedLanguageModel,
    BuildDecisionBookPersonOccupantsLanguageModel,
)
from databases.language_models.company.company import (
    CompaniesLanguageModel,
    RelationshipDutyCompanyLanguageModel,
)
from databases.language_models.company.department import (
    DutiesLanguageModel,
    DutyLanguageModel,
    DepartmentsLanguageModel,
)
from databases.language_models.company.employee import (
    EmployeesLanguageModel,
    EmployeeHistoryLanguageModel,
    EmployeesSalariesLanguageModel,
    StaffLanguageModel,
)
from databases.language_models.event.event import (
    EventsLanguageModel,
    ModulesLanguageModel,
    ServicesLanguageModel,
    Service2EventsLanguageModel,
    Event2OccupantExtraLanguageModel,
    Event2EmployeeExtraLanguageModel,
    Event2EmployeeLanguageModel,
    Event2OccupantLanguageModel,
    ModulePriceLanguageModel,
)
from databases.language_models.identity.identity import (
    UsersTokensLanguageModel,
    UsersLanguageModel,
    RelationshipDutyPeopleLanguageModel,
    PeopleLanguageModel,
    RelationshipEmployee2PostCodeLanguageModel,
    AddressPostcodeLanguageModel,
    AddressesLanguageModel,
    AddressGeographicLocationsLanguageModel,
    AddressCountryLanguageModel,
    AddressStateLanguageModel,
    AddressCityLanguageModel,
    AddressDistrictLanguageModel,
    AddressLocalityLanguageModel,
    AddressNeighborhoodLanguageModel,
    AddressStreetLanguageModel,
    OccupantTypesLanguageModel,
    ContractsLanguageModel,
)
from databases.language_models.rules.rules import (
    EndpointRestrictionLanguageModel,
)

__all__ = [
    "AccountBooksLanguageModel",
    "AccountDetailLanguageModel",
    "AccountMasterLanguageModel",
    "AccountRecordExchangesLanguageModel",
    "AccountCodesLanguageModel",
    "AccountRecordsLanguageModel",
    "AccountCodeParserLanguageModel",
    "BuildIbansLanguageModel",
    "BuildIbanDescriptionLanguageModel",
    "DecisionBookBudgetBooksLanguageModel",
    "DecisionBookBudgetMasterLanguageModel",
    "DecisionBookBudgetCodesLanguageModel",
    "DecisionBookBudgetsLanguageModel",
    "BuildTypesLanguageModel",
    "BuildAreaLanguageModel",
    "BuildLanguageModel",
    "BuildPartsLanguageModel",
    "RelationshipEmployee2BuildLanguageModel",
    "BuildSitesLanguageModel",
    "BuildManagementLanguageModel",
    "BuildCompaniesProvidingLanguageModel",
    "Part2EmployeeLanguageModel",
    "BuildLivingSpaceLanguageModel",
    "BuildPersonProvidingLanguageModel",
    "BuildDecisionBookPaymentsLanguageModel",
    "BuildDecisionBookItemsLanguageModel",
    "BuildDecisionBookLegalLanguageModel",
    "BuildDecisionBookLanguageModel",
    "BuildDecisionBookProjectPersonLanguageModel",
    "BuildDecisionBookInvitationsLanguageModel",
    "BuildDecisionBookProjectsLanguageModel",
    "BuildDecisionBookPersonLanguageModel",
    "BuildDecisionBookProjectItemsLanguageModel",
    "BuildDecisionBookItemsUnapprovedLanguageModel",
    "BuildDecisionBookPersonOccupantsLanguageModel",
    "CompaniesLanguageModel",
    "RelationshipDutyCompanyLanguageModel",
    "DutiesLanguageModel",
    "DutyLanguageModel",
    "DepartmentsLanguageModel",
    "EmployeesLanguageModel",
    "EmployeeHistoryLanguageModel",
    "EmployeesSalariesLanguageModel",
    "StaffLanguageModel",
    "EventsLanguageModel",
    "ModulesLanguageModel",
    "ServicesLanguageModel",
    "Service2EventsLanguageModel",
    "Event2OccupantExtraLanguageModel",
    "Event2EmployeeExtraLanguageModel",
    "Event2EmployeeLanguageModel",
    "Event2OccupantLanguageModel",
    "ModulePriceLanguageModel",
    "UsersTokensLanguageModel",
    "UsersLanguageModel",
    "RelationshipDutyPeopleLanguageModel",
    "PeopleLanguageModel",
    "RelationshipEmployee2PostCodeLanguageModel",
    "AddressPostcodeLanguageModel",
    "AddressesLanguageModel",
    "AddressGeographicLocationsLanguageModel",
    "AddressCountryLanguageModel",
    "AddressStateLanguageModel",
    "AddressCityLanguageModel",
    "AddressDistrictLanguageModel",
    "AddressLocalityLanguageModel",
    "AddressNeighborhoodLanguageModel",
    "AddressStreetLanguageModel",
    "OccupantTypesLanguageModel",
    "ContractsLanguageModel",
    "EndpointRestrictionLanguageModel",
]

# LanguageModel = dict(
#     tr={
#         **CrudCollectionLanguageModel["tr"],
#     },
#     en={
#         **CrudCollectionLanguageModel["en"],
#     },
# )
