import { CurrencyValue } from '../components/v2/InputCurrency/InputCurrency.vue.d'; import { LinkedAsset } from '../components/v2/DialogLinkedAsset/DialogLinkedAsset.vue.d'; export type AssetFieldObject = { _id?: string; name?: string; }; export type ChildAsset = { parent: LinkedAsset; children: LinkedAsset[]; family: LinkedAsset[]; }; export type ParentAsset = { parent: undefined; children: LinkedAsset[]; family: LinkedAsset[]; }; export type FamilyData = (ParentAsset | ChildAsset) & { _id: string; }; export type GetLinkedAssetFamilyResponse = { data: FamilyData[]; }; export type AssetName = AssetFieldObject & { nameWithSequence?: string; sequence?: number; aliasCode?: string; category?: AssetFieldObject; }; export type Asset = { _id?: string; asset?: string; assetId?: string; name?: AssetName; aliasName?: string; measurement?: AssetFieldObject; tagType?: string; status?: string; category?: AssetFieldObject; group?: AssetFieldObject; brand?: AssetFieldObject; model?: AssetFieldObject; assetName?: AssetName; assetGroup?: AssetFieldObject; assetBrand?: AssetFieldObject; assetModel?: AssetFieldObject; assetTagType?: string; assetValue?: CurrencyValue; assignedTo?: string; isTransactionable?: boolean; addOn?: { repairTicketing?: boolean; maintenance?: boolean; tracking?: boolean; audit?: boolean; }; purchase?: { date?: string; cost?: string; currency?: string; warrantyDuration?: string; }; lastModifier?: string; updatedAt?: string; tagReported: { rfid?: string; qr?: string; }; firstImage?: string; secondImage?: string; assetImage?: string; setDefault?: 'firstImage' | 'secondImage'; auditStatus?: string; maintenanceStatus?: string; transactions?: TransactionPolicyType; formattedAssetValue?: string; address?: string; latitude: number | null; longitude: number | null; registeredAssetId?: string; }; export type TransactionPolicyType = { borrowing: boolean; assignment: boolean; transfer: boolean; disposal: boolean; maintenance: boolean; audit: boolean; repairTicketing: boolean; tracking: boolean; assetControl: boolean; map: boolean; }; export interface AssetMap { _id: string; latitude: number; longitude: number; } export interface AssetValue { name: string; value: number; formattedValue?: string; currency: string; isDefault: boolean; } export interface AssetCustomField { _id: string; name: string; dataType: string; value?: string; } export interface AssetPurchase { value: number; currency: string; } export interface AssetCoordinate { longitude: number; latitude: number; } export interface AssetGroup { _id?: string; name?: string; fullPath?: string; code?: string; } export interface AssetTableData { _id: string; assetImage?: string; name?: AssetName; aliasName?: string; assetId?: string; assetStatus?: string; group?: AssetGroup; brand?: AssetFieldObject; model?: AssetFieldObject; category?: AssetFieldObject; tagType?: string; measurement?: AssetFieldObject; maintenanceStatus?: string; auditStatus?: string; transactions?: TransactionPolicyType; coordinates?: AssetCoordinate; address?: string; warrantyStatus?: string; lastScannedAt?: string; linkedAssetCount?: number; purchaseDate?: string; purchase?: AssetPurchase; customFields?: Record; assetValues?: Record; labelStatus?: 'Printed' | 'Not Printed'; } export interface AssetTableDataPrint extends Partial> { coordinates?: string; maintenanceAuditStatus?: ('In Maintenance' | 'In Audit' | 'None')[]; linkedAssetCount?: string; transactions?: number; transactionsObject?: TransactionPolicyType; assetValues?: Partial>>; customFields?: Partial>>; }