interface BaseModel { _id: string; createdAt: string; updatedAt: string; } export interface Contractor extends BaseModel { name: string; vatId: string; debt: number; } export interface Product extends BaseModel { name: string; description: string; price: number; quantity: number; } export interface Transfer extends BaseModel { date: string; operation: 'in' | 'out'; contractorId: string; amount: number; contractor?: Contractor; } export interface Waybill extends BaseModel { date: string; operation: 'in' | 'out'; status: 'waiting' | 'executed' | 'cancelled'; contractorId: string; contractor?: Contractor; records: { productId: string; price: number; quantity: number; }[]; total: number; }