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-preview.tsAssetPreviewProps, AssetPreviewPagination (fetchPage, loadedPages, pageSize?, total?, lastPage?, prefetchRatio?), AssetPreviewPageResult, AssetPreviewSource ('card' | 'selection'), AssetPreviewPendingMove ('forward' | 'backward' | 'last'), AssetPreviewThumbSlot, AssetPreviewViewContext, AssetPreviewPermissionPayload (visibility: 0 | 1) and the option shapes for useAssetPreview* composables
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.tsAuthStrategy ('local' | 'external'), AuthStatus ('idle' | 'loading' | 'authenticated' | 'unauthenticated' | 'unreachable', the useAuth().status values), UserData, User, AuthUser — resolved role/permission data for the current session; imports Workspace from layout.ts
members.tsMemberUser, MemberListParams, MemberListResponse — workspace member management via useMembersApi. MemberUser has optional sign_in_method, sso_provider and sso_last_verified_at for the Sign-in method column
sso.tsSingle Sign-On: SsoConnection, SsoServiceProvider, SsoCustomDomain, SsoStats, SsoSyncStatus (never, queued, running, ok, failed), SsoConnectionUpdatePayload, SsoSyncResponse, SsoTestResponse, SsoActivityEvent, SsoActivityOutcome (ok, signed_in, blocked, system), SsoActivityResponse, SsoActivityParams, SsoResolveResponse, SsoBranding (enabled, url_slug), provider catalog types (SsoProvider, SsoProviderValue, SsoSpField, SsoMetadataSource, SsoGuideStep, SsoGuideAction, SsoGuideActionKind, SsoProviderGuide), and page types SsoSetupStep, SsoEditTarget (domains, status), SsoPageView (summary, setup), SsoResolvedValue. See Single Sign-On
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 (includes optional externalPreview), 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. Workspace has optional is_owner and sso_allowed, read by canManageSsoSettings and isSsoAllowed
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. Also BrandingDetails (optional sso: SsoBranding from check-branding) and Brand (sso: SsoBranding | null)
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