import { Keys, Extends, PropSelector, Status, Strings, Info, Nullable } from "@onebro/oba-common"; import { Model, ModelSignature, ModelBaseTypeSig, Stages, ModelMiscReference, StageGuard, IsObjectId } from "@onebro/oba-mongoose"; import { DocStatuses } from "./00-common"; import { UserProfileAsProp } from "./01-user-profile"; export declare type ServiceRequestItem = { feature: string; desc: string; saved: boolean; completed: Nullable; }; export declare type ServiceRequestNote = { user: string; msg: string; time: Date; } & Info; export declare type ServiceRequestProps = { _type_: "service-request"; domain: string; type: "contact-us" | "user-access" | "support-ticket" | "admn-task"; category: string; title: string; client: { id?: IsObjectId; name: string; email: string; phn?: string; }; desc: string; slug: string; dueDate: Date; activity: Status>[]; score: number; parent: ModelMiscReference; admin: UserProfileAsProp[t]; notes: ServiceRequestNote[]; items: ServiceRequestItem[]; published: Date; itemCt: number; }; export declare type ServiceRequestConfigKeys = "domain" | "type" | "category" | "client" | "desc" | "dueDate"; export declare type ServiceRequestConfigOptKeys = "slug" | "admin" | "notes" | "items" | "activity" | "score" | "title" | "parent"; export declare type ServiceRequestInstanceKeys = ServiceRequestConfigKeys | ServiceRequestConfigOptKeys; export declare type ServiceRequestJsonKeys = ServiceRequestInstanceKeys | "_type_" | "published"; export declare type ServiceRequestPreviewKeys = "domain" | "type" | "category" | "client" | "admin" | "parent" | "title" | "published" | "itemCt"; export declare type ServiceRequestSelfRefs = {}; export declare type ServiceRequestMethods = {}; export declare type ServiceRequestPropKeys = Keys>; export declare type ServiceRequestPropSelector = undefined, j extends ServiceRequestPropKeys = undefined> = PropSelector, k, j>; export declare type ServiceRequestSignature = ModelSignature, ServiceRequestPropSelector<"I", ServiceRequestInstanceKeys> & ServiceRequestMethods, ServiceRequestPropSelector<"J", ServiceRequestJsonKeys>, ServiceRequestPropSelector<"J", ServiceRequestPreviewKeys>, DocStatuses, ServiceRequestSelfRefs>; export declare type ServiceRequest = Model; export declare type ServiceRequestAsProp = ModelBaseTypeSig, Extends<[IsArr], [true | 1], ServiceRequest["instance"][], ServiceRequest["instance"]>, Extends<[IsArr], [true | 1], ServiceRequest["json"][], ServiceRequest["json"]>>;