import { Schema } from "mongoose"; import { EnumMap, IJson, IDocument, IObject, IInstance, IModel, IAction, IActionTypes, IMeetup, IPlatformJson, IPlatform } from "@onebro/oba-common"; import { FinavigatorUserProfile, FinavigatorUserProfilePreview, FinavigatorUserProfileJson } from "./profiles"; import { FinavigatorLead, FinavigatorLeadJson } from "./leads"; import { FinavigatorMessage, FinavigatorMessageJson } from "./messages"; import { FinavigatorVenueJson, FinavigatorVenue } from "./venues"; export declare enum FinavigatorAppointmentStatuses { N = "New", S = "Saved", Y = "Sent", Z = "Seen/Read", A = "Accepted", D = "Declined", R = "Revised", E = "Expired", C = "Cancelled" } export declare type FinavigatorAppointmentStatus = keyof typeof FinavigatorAppointmentStatuses; export declare type FinavigatorAppointmentOpts = Pick; export declare type FinavigatorAppointmentConfig = FinavigatorAppointmentOpts & { agent: string; client: string; venue?: string; platform?: string; attendees?: string[]; lead?: string; }; export declare type FinavigatorAppointmentType = IObject & FinavigatorAppointmentOpts & { agent: FinavigatorUserProfile; client: FinavigatorUserProfile; venue?: FinavigatorVenue; platform?: IPlatform; attendees?: FinavigatorUserProfile[]; lead?: FinavigatorLead; notes?: FinavigatorMessage[]; }; export interface FinavigatorAppointmentDocument extends IDocument, FinavigatorAppointmentType { } export interface FinavigatorAppointment extends IInstance, FinavigatorAppointmentDocument { } export interface FinavigatorAppointmentModel extends IModel { } export declare type FinavigatorAppointmentPublicKeys = keyof FinavigatorAppointmentOpts; export declare type FinavigatorAppointmentPublicData = Pick; export declare type FinavigatorAppointmentJson = IJson & FinavigatorAppointmentPublicData & { agent: FinavigatorUserProfilePreview; client: FinavigatorUserProfilePreview; venue?: FinavigatorVenueJson; platform?: IPlatformJson; attendees?: FinavigatorUserProfileJson[]; lead?: FinavigatorLeadJson; notes: FinavigatorMessageJson[]; }; export declare type FinavigatorAppointmentModelMap = { FinavigatorAppointment: FinavigatorAppointmentModel; }; export declare type FinavigatorAppointmentInstanceMap = { appt: FinavigatorAppointment; }; export declare type FinavigatorAppointmentSchemaMap = { appt: Schema; }; export declare type FinavigatorAppointmentActionTypes = IActionTypes; export declare type FinavigatorAppointmentActions = EnumMap;