import { Keys, Extends, PropSelector } from "@onebro/oba-common"; import { Model, ModelSignature, ModelBaseTypeSig, Stages, ModelMiscReference } from "@onebro/oba-mongoose"; import { DocStatuses, LocationObj } from "./00-common"; export declare type FinancialDocItemProps = { _type_: "financial-document-item"; domain: string; slug: string; amt: number; reason: string; parent: ModelMiscReference<"FinancialDoc">; kind: string; type: FinancialDocItemType; method: FinancialDocItemMethodType; info: FinancialDocItemInfo; loc: LocationObj; published: Date; }; export declare type FinancialDocItemConfigKeys = "domain" | "kind" | "type" | "amt" | "reason" | "parent"; export declare type FinancialDocItemConfigOptKeys = "method" | "info" | "loc" | "slug"; export declare type FinancialDocItemInstanceKeys = FinancialDocItemConfigKeys | FinancialDocItemConfigOptKeys; export declare type FinancialDocItemJsonKeys = FinancialDocItemInstanceKeys | "_type_" | "published"; export declare type FinancialDocItemPreviewKeys = "slug" | "domain" | "type" | "kind" | "amt" | "method" | "published"; export declare type FinancialDocItemSelfRefs = {}; export declare type FinancialDocItemMethods = {}; export declare type FinancialDocItemPropKeys = Keys>; export declare type FinancialDocItemPropSelector = undefined, j extends FinancialDocItemPropKeys = undefined> = PropSelector, k, j>; export declare type FinancialDocItemSignature = ModelSignature, FinancialDocItemPropSelector<"I", FinancialDocItemInstanceKeys> & FinancialDocItemMethods, FinancialDocItemPropSelector<"J", FinancialDocItemJsonKeys>, FinancialDocItemPropSelector<"J", FinancialDocItemPreviewKeys>, DocStatuses, FinancialDocItemSelfRefs>; export declare type FinancialDocItem = Model; export declare type FinancialDocItemAsProp = ModelBaseTypeSig, Extends<[IsArr], [true | 1], FinancialDocItem["instance"][], FinancialDocItem["instance"]>, Extends<[IsArr], [true | 1], FinancialDocItem["preview"][], FinancialDocItem["preview"]>>; export declare type FinancialDocItemType = "credit" | "debit" | "revenue" | "expense" | "asset" | "liability" | "withdrawl" | "deposit"; export declare type FinancialDocItemMethodType = "VISA" | "MC" | "DISC" | "AMEX" | "GOOGLEPAY" | "APPLEPAY" | "PAYPAL" | "ACH" | "TRANSFER" | "NA"; export declare type FinancialDocItemInfo = Partial<{ realized: boolean; recurring: boolean; fiscalYr: number; dueDate: Date; order: string; institution: any; confirmation: string; viaStripe: boolean; lastFour: string; }>;