import { Keys, Extends, PropSelector, Settings, Info } from "@onebro/oba-common"; import { Model, ModelSignature, ModelBaseTypeSig, Stages, IsObjectId } from "@onebro/oba-mongoose"; import { UserStatuses } from "./00-common"; import { VendorItemAsProp } from "./04-vendor-item"; export declare type VendorAppSettings = Partial<{ canActivate: boolean; canShare: boolean; acceptInvites: boolean; sendInvites: boolean; createSnippets: boolean; maxSessions: number; }>; export declare type VendorVirtuals = { memberSince: Date; }; export declare type VendorProps = VendorVirtuals & { _type_: "vendor"; name: string; email: string; phn: string; addr: string; settings: Settings & Info<"data">; items: VendorItemAsProp[t]; }; export declare type VendorConfigKeys = "name" | "phn" | "email" | "addr" | "settings"; export declare type VendorConfigOptKeys = "items"; export declare type VendorInstanceKeys = VendorConfigKeys | VendorConfigOptKeys | "memberSince"; export declare type VendorJsonKeys = VendorInstanceKeys | "_type_"; export declare type VendorPreviewKeys = "name" | "email" | "phn" | "addr" | "items"; export declare type VendorSelfRefs = {}; export declare type VendorMethods = { jsonAuth: (auth?: boolean) => Vendor["json"]; }; export declare type VendorPropKeys = Keys>; export declare type VendorPropSelector = undefined, j extends VendorPropKeys = undefined> = PropSelector, k, j>; export declare type VendorSignature = ModelSignature, VendorPropSelector<"I", VendorInstanceKeys> & VendorMethods, VendorPropSelector<"J", VendorJsonKeys>, VendorPropSelector<"J", VendorPreviewKeys>, UserStatuses, VendorSelfRefs>; export declare type Vendor = Model; export declare type VendorAsProp = ModelBaseTypeSig, Extends<[IsArr], [true | 1], Vendor["instance"][], Vendor["instance"]>, Extends<[IsArr], [true | 1], Extends<[IsUser], [true | 1], Vendor["json"][], Vendor["preview"][]>, Extends<[IsUser], [true | 1], Vendor["json"], Vendor["preview"]>>>;