import { CountryEnum, GenderEnum, ImageVariationEnum, ImageTypeEnum, UploadStatusEnum, UploadTypeEnum, UserStatusEnum, LocaleEnum, UploadVisibilityTypeEnum, CurrencyCodeEnum, PackageEnum, OfferRequestStatusEnum, OfferRequestTimelineActionEnum, OfferRequestOptionEnum, OfferRequestOptionStatusEnum, OrderItemTypeEnum, OrderStatusEnum } from '@vini-wine/core-enums'; import { CountryDto, ImageDto, VatTaxDto, OrganisationDto, SupplierDto, SellerDto, RegionDto, WineTypeDto, WineryDto, WineDto, VintageDto, VintageProductDto, PriceDto, OfferDto } from '@vini-wine/core-dtos'; interface CountryModel { codeAlpha2: CountryEnum; codeAlpha3: string; codeUn: string; } declare const createCountryDtoFromOfferCountryModel: (country: CountryModel) => CountryDto; interface UUID { uuid: string; } interface GenderModel extends UUID { id: GenderEnum; name: string; } interface ImageVariationModel { id: ImageVariationEnum; } interface ImageTypeModel { id: ImageTypeEnum; } interface ImageModel extends UUID { name: string; mime: string; height: number; width: number; url: string; variation: ImageVariationModel; type: ImageTypeModel; } declare const createImageDtoFromOfferImageModel: (image: ImageModel) => ImageDto; interface UploadStatusModel { id: UploadStatusEnum; } interface UploadTypeModel { id: UploadTypeEnum; } interface VatTaxModel { countryCode: CountryEnum; value: string; } declare const createVatTaxDtoFromOfferVatTaxModel: (vatTax: VatTaxModel) => VatTaxDto; interface UserStatusModel { id: UserStatusEnum; } interface PersonModel extends UUID { gender: GenderModel; firstName: string; lastName: string; preferredLanguage: LocaleEnum; } interface UserAccountModel extends UUID { person: PersonModel; status: UserStatusModel; email: string; emailVerified: boolean; userOrganisations?: UserOrganisationModel[]; } interface UserOrganisationModel extends UUID { organisation: OrganisationModel; createdAt: Date; user?: UserAccountModel; } interface OrganisationModel extends UUID { name: string; legalName: string; vatTax: VatTaxModel; defaultTimezone: string; avatar?: ImageModel; defaultSalesContactUserOrganisation?: UserOrganisationModel; } declare const createOrganisationDtoFromOfferOrganisationModel: (organisation: OrganisationModel) => OrganisationDto; interface UploadVisibilityTypeModel { id: UploadVisibilityTypeEnum; upload?: UploadModel; } interface SupplierModel extends UUID { name: string; organisation?: OrganisationModel; supplierOrganisation?: OrganisationModel; } declare const createSupplierDtoFromOfferSupplierModel: (supplier: SupplierModel) => SupplierDto; interface UploadModel extends UUID { createdUser?: UserAccountModel; importFileHeader?: ImportFileHeaderModel[]; visibilityTypes?: UploadVisibilityTypeModel[]; organisationSupplier: SupplierModel; organisation: OrganisationModel; createdAt: Date; name: string; numItems: number; validFrom: Date; validUntil: Date; status: UploadStatusModel; type: UploadTypeModel; disabledAt: Date | null; } interface ImportFileHeaderModel { mappedHeader: string; value: string; upload?: UploadModel; } interface SellerModel extends UUID { name: string; organisation?: OrganisationModel; } declare const createSellerDtoFromOfferSellerModel: (seller: SellerModel) => SellerDto; interface RegionModel extends UUID { name: string; country: CountryModel; } declare const createRegionDtoFromOfferRegionModel: (region: RegionModel) => RegionDto; interface WineTypeModel extends UUID { name: string; } declare const createWineTypeDtoFromOfferWineTypeModel: (wineType: WineTypeModel) => WineTypeDto; interface WineryModel extends UUID { name: string; } declare const createWineryDtoFromOfferWineryModel: (winery: WineryModel) => WineryDto; interface WineModel extends UUID { name: string; region?: RegionModel; wineType?: WineTypeModel; winery?: WineryModel; } declare const createWineDtoFromOfferWineModel: (wine: WineModel) => WineDto; interface VintageModel extends UUID { year: number; bottleImage: ImageModel | null; wine?: WineModel; labelImage?: ImageModel | null; } declare const createVintageDtoFromOfferVintageModel: (vintage: VintageModel) => VintageDto; interface VintageProductModel extends UUID { milliliters: number; vintage?: VintageModel; bestOffer?: OfferModel | null; } declare const createVintageProductDtoFromOfferVintageProductModel: (vintageProduct: VintageProductModel) => VintageProductDto; interface PriceModel { priceMicros: number; currency: CurrencyCodeEnum; visibility: { id: UploadVisibilityTypeEnum; }; } declare const createPriceDtoFromOfferPriceModel: (price: PriceModel) => PriceDto; interface OfferModel extends UUID { price: PriceModel | null; quantity: number; package: PackageEnum | null; createdAt: Date; supplier?: SupplierModel | null; seller?: SellerModel; vintageProducts?: VintageProductModel[]; shippedFromCountry?: CountryModel | null; } declare const createOfferDtoFromOfferOfferModel: (offer: OfferModel) => OfferDto; interface OfferRequestStatusModel { id: OfferRequestStatusEnum; updatedAt: Date; } interface OfferRequestTimelineModel { actionCreatedAt: Date; action: { id: OfferRequestTimelineActionEnum; }; offerRequest?: OfferRequestModel; createdByUser?: UserAccountModel; } interface OfferRequestOptionModel { id: OfferRequestOptionEnum; status: { id: OfferRequestOptionStatusEnum; updatedAt: Date; }; requestedValue: string | null; providedValue: string | null; offerRequest?: OfferRequestModel; } interface OrderItemPurchaseModel { price?: PriceModel | null; supplier?: SupplierModel | null; } interface OrderItemModel extends UUID { purchase?: OrderItemPurchaseModel; price: PriceModel; type: { id: OrderItemTypeEnum; }; description: string; quantity: number; } interface OrderModel extends UUID { items?: OrderItemModel[]; customer?: OrganisationModel | null; requestedUser?: UserAccountModel; numItems?: number; amountFCExclVatMicros?: number; purchaseOrders?: OrderModel[]; salesOrders?: OrderModel[]; currency: CurrencyCodeEnum; status: { id: OrderStatusEnum; updatedAt: Date | null; }; referenceCode: string; orderedAt: Date; shareOrderWithSellerOrCustomer: boolean; } interface OfferRequestModel extends UUID { price: PriceModel | null; offer: Partial | null; organisation: OrganisationModel; seller: OrganisationModel; status: OfferRequestStatusModel; package: PackageEnum; quantity: number; createdAt: Date; updatedAt: Date; changedAt: Date; reservation: { until: Date | null; }; images?: ImageModel[]; vintageProducts?: VintageProductModel[]; parentRequest?: OfferRequestModel; timeline?: OfferRequestTimelineModel[]; subOfferRequests?: OfferRequestModel[] | []; userOrganisation?: UserOrganisationModel; options?: OfferRequestOptionModel[]; orders?: OrderModel[]; } interface UploadVisibilityModel { type: UploadVisibilityTypeEnum; values?: string[] | { uuid: string; }[]; } export { type CountryModel, type GenderModel, type ImageModel, type ImageTypeModel, type ImageVariationModel, type ImportFileHeaderModel, type OfferModel, type OfferRequestModel, type OfferRequestOptionModel, type OfferRequestStatusModel, type OfferRequestTimelineModel, type OrderItemModel, type OrderItemPurchaseModel, type OrderModel, type OrganisationModel, type PersonModel, type PriceModel, type RegionModel, type SellerModel, type SupplierModel, type UploadModel, type UploadStatusModel, type UploadTypeModel, type UploadVisibilityModel, type UploadVisibilityTypeModel, type UserAccountModel, type UserOrganisationModel, type UserStatusModel, type VatTaxModel, type VintageModel, type VintageProductModel, type WineModel, type WineTypeModel, type WineryModel, createCountryDtoFromOfferCountryModel, createImageDtoFromOfferImageModel, createOfferDtoFromOfferOfferModel, createOrganisationDtoFromOfferOrganisationModel, createPriceDtoFromOfferPriceModel, createRegionDtoFromOfferRegionModel, createSellerDtoFromOfferSellerModel, createSupplierDtoFromOfferSupplierModel, createVatTaxDtoFromOfferVatTaxModel, createVintageDtoFromOfferVintageModel, createVintageProductDtoFromOfferVintageProductModel, createWineDtoFromOfferWineModel, createWineTypeDtoFromOfferWineTypeModel, createWineryDtoFromOfferWineryModel };