Skip to content

Types ​

TypeScript type definitions in app/types/. Not auto-imported — always use explicit import type { X } from '~/types/x'.

Why Explicit Imports ​

Nuxt auto-imports only apply to composables and utils. Type files must be imported manually. Use import type (not import) to keep the runtime bundle clean.

Grouped by Domain ​

API & HTTP ​

FileKey types defined
api.tsApiResponse<T>, PaginatedData<T>, ApiRequestOptions — standard backend response envelope matching Laravel's RestResponse.php
api-client.tsFetchConfig, FetchResponse<T>, ErrorWithResponse — low-level fetch client shapes

Analytics & Amplitude ​

FileKey types defined
amplitude.tsAmplitudeEventProperties, AmplitudeEnvironment, AmplitudeGlobalProperties, AmplitudeUserProperties, AmplitudeTracker, AmplitudeTrackOptions, SessionReplayInitOptions, SessionReplayPrivacyConfig
transaction.tsTransactionEvent enum, AssetSubEvent enum, FolderSubEvent enum, CollageSubEvent enum, TransactionPayload — exhaustive activity-event vocabulary; do not add new values without a codebase audit

Assets ​

FileKey types defined
asset.tsAsset, AssetParams, UpdateAssetPayload, DeleteFilePayload, ConvertPayload, DownloadHistoryPayload, MakeVersionPayload
asset-detail.tsAssetDetail — rich asset shape used on the asset detail page, including nested collections, tags, and version info
upload.tsUploadFileItem, UploadFileInfo, UploadQueueEntry — upload queue shapes ported from old Admin-Frontend upload mixins

DAM Core ​

FileKey types defined
dam.tsTagItem — tag shape used across DAM tag inputs
dam-display.tsThumbnailSize, DisplaySortDirection, DisplaySortColumn, DisplaySortChange — DAM display-panel (view mode, thumbnail size, sort) controls
dam-list.tsFolderAssetItem, CellFormat, DamColumn, DamListAction — shared row and column shapes for all four list-view components
filters.tsFilterFieldType, FilterOperator, FilterValue, FilterValueMarkers, FilterItem, FilterGroup — filter model mirroring Admin-Frontend's buildFiltersNew() shape
search.tsSearchTab, SearchScope, SearchContextLabel, SEARCH_TAB_TO_COLLECTION map, scopeToContextLabel() helper
typesense.tsTypesenseCollection, TextMatchType, TypesenseHit<T>, TypesenseGroupedHit<T>, TypesenseFacetCount, TypesenseSearchResponse<T> — raw Typesense HTTP API protocol shapes
trash.tsTrashFolder, TrashAsset, TrashItem, RestorePayload

Folders, Collections & Dashboard ​

FileKey types defined
folder.tsFolder, UncategorisedObj, folder API payloads
folder-detail.tsFolderDetail, FolderDetailFile, FolderDetailSearchData — types scoped to the folder detail page
collection.tsCollection, CollectionDetailsParams, UpdateCollectionPayload — imports PreviewImage from dashboard.ts
collage-detail.tsCollageDetailFile, CollageDetailAsset, CollageDetailSelectedItem, CollageDetailFilterItem, CollageDetailFilterObj — types scoped to the collage detail page
dashboard.tsPreviewImage, Collage, RecentUpload, ChartData, ChartDataset, DashboardOverview

Sharing & External Access ​

FileKey types defined
sharing.tsShareFile, ShareFolder, ShareLink, sharing API payloads
shared-assets.tsShareAsset, ShareBreadcrumb, ShowShareAssetsParams — guest-portal / shared-assets view shapes
external.tsExternalBranding — branding/logo/color config for the guest-portal OTP flow
external-users.tsExternalUser, ExternalUserListParams, ExternalUserListResponse, AddExternalUserPayload — partner/external-user management (distinct from external.ts which covers the guest portal)

Auth, Users & Members ​

FileKey types defined
auth.tsUserData, User, AuthUser — resolved role/permission data for the current session; imports Workspace from layout.ts
members.tsMemberUser, MemberListParams, MemberListResponse — workspace member management via useMembersApi
profile.tsUserProfileResponse, SupportSessionData, SupportSession, Passkey — user profile and passkey shapes
org-settings.tsRoleOption, InstanceOption, UserProp — shared by user-management dialogs and settings pages

Workspace & Portal ​

FileKey types defined
workspace-settings.tsWorkspaceApiDetail, WorkspaceUser, UpdateWorkspaceSettingsPayload — workspace settings API types (named WorkspaceApiDetail to avoid collisions with local stubs elsewhere)
portal.tsPortalBranding, PortalSettings, PortalWorkspace, PortalInstance — DAM instance / brand-portal configuration

UI & Components ​

FileKey types defined
components.tsAssetCardProps, MenuItem, AssetImageOverlayProps and other component prop/emit shapes
dialogs.tsAssetQuickViewProps, AssetQuickViewEmits, FolderItem, FileItem and other dialog prop shapes
image-editor.tsFlipState, ResizeDims, CropData, TransformState, CropBoxData, CropPresetGroup, ExportFormatOption — shared by ImageEditor.vue and the asset-detail action panel
layout.tsMenuRoute, CreateNewRoute, BrandPortalRoute, AuthUser, Workspace — sidebar and navigation shapes
snackbar.tsSnackbarColor, SnackbarMethods, SnackbarColorMap, SNACKBAR_COLORS constant
notification.tsNotification, AnnouncementNotificationItem, Announcement — notification-bell and CMS announcement shapes

Shared Infrastructure ​

FileKey types defined
common.tsAnalyticsPayload, UserAgentAndLocation, BrowserOsResponse, TransactionResponse, NuxtAppWithApi, ChartColorScheme — cross-cutting utility types
store.tsStorageInfo, StoreFolder, StoreCollection, StoreAsset, StoreFile, DamInstance — canonical shapes used by Pinia stores
custom-fields.tsFieldType union, CustomFieldDefinition — custom metadata field schema

Type Declarations (.d.ts) ​

FilePurpose
assets.d.tsModule declarations for static asset imports (SVG, PNG, etc.)
nuxt.d.tsNuxt app augmentations (e.g. NuxtApp extensions)
router.d.tsVue Router meta-field augmentations
vue-audio-visual.d.tsAmbient declaration for the vue-audio-visual package