import { Keys, Extends, PropSelector } from "@onebro/oba-common"; import { Model, ModelSignature, ModelBaseTypeSig, Stages } from "@onebro/oba-mongoose"; import { DocStatuses } from "./00-common"; import { UserAcctAsProp } from "./01-user-acct"; export declare type PostProps = Record<"title" | "slug", string> & { _type_: "post"; domain: string; type: string; category: "tech" | "billing" | "invest" | "general" | "orders" | "service" | "partner" | "jobs"; body: string; author: UserAcctAsProp[t]; published: Date; }; export declare type PostConfigKeys = "domain" | "type" | "title" | "author" | "body"; export declare type PostConfigOptKeys = "slug"; export declare type PostInstanceKeys = PostConfigKeys | PostConfigOptKeys; export declare type PostJsonKeys = PostInstanceKeys | "_type_" | "published"; export declare type PostPreviewKeys = "domain" | "type" | "title" | "author" | "body" | "published"; export declare type PostSelfRefs = {}; export declare type PostMethods = {}; export declare type PostPropKeys = Keys>; export declare type PostPropSelector = undefined, j extends PostPropKeys = undefined> = PropSelector, k, j>; export declare type PostSignature = ModelSignature, PostPropSelector<"I", PostInstanceKeys> & PostMethods, PostPropSelector<"J", PostJsonKeys>, PostPropSelector<"J", PostPreviewKeys>, DocStatuses, PostSelfRefs>; export declare type Post = Model; export declare type PostAsProp = ModelBaseTypeSig, Extends<[IsArr], [true | 1], Post["instance"][], Post["instance"]>, Extends<[IsArr], [true | 1], Post["preview"][], Post["preview"]>>;