import { Schema } from "mongoose"; import { EnumMap,IJson,IDocument,IObject,IInstance,IModel,IAction,IActionTypes } from "@onebro/oba-common"; export enum FinavigatorLeadStatuses { N = "New", S = "Saved", Y = "Sent", Z = "Seen/Read", A = "Accepted", D = "Declined", R = "Revised", E = "Expired", C = "Cancelled",} export type FinavigatorLeadStatus = keyof typeof FinavigatorLeadStatuses; export type FinavigatorLeadConfig = { method:"text"|"email"|"voice"; campaign:string; contact:string;}; export type FinavigatorLeadType = IObject & FinavigatorLeadConfig; export interface FinavigatorLeadDocument extends IDocument,FinavigatorLeadType {} export interface FinavigatorLead extends IInstance,FinavigatorLeadDocument {} export interface FinavigatorLeadModel extends IModel {} export type FinavigatorLeadPublicKeys = "campaign"|"contact"|"method"; export type FinavigatorLeadPublicData = Pick; export type FinavigatorLeadJson = IJson & FinavigatorLeadPublicData & {}; export type FinavigatorLeadModelMap = {FinavigatorLead:FinavigatorLeadModel;}; export type FinavigatorLeadInstanceMap = {lead:FinavigatorLead;}; export type FinavigatorLeadSchemaMap = {lead:Schema;}; export type FinavigatorLeadActionTypes = IActionTypes; export type FinavigatorLeadActions = EnumMap;