import { Schema } from "mongoose"; import { EnumMap, IJson, IDocument, IObject, IInstance, IModel, IAction, IActionTypes } from "@onebro/oba-common"; import { SwiftTradersUserProfile, SwiftTradersUserProfilePreview } from "./profiles"; export declare enum SwiftTradersMessageStatuses { N = "New", S = "Saved", Y = "Sent", Z = "Seen/Read", A = "Accepted", D = "Declined", R = "Revised", E = "Expired", C = "Cancelled" } export declare type SwiftTradersMessageStatus = keyof typeof SwiftTradersMessageStatuses; export declare type SwiftTradersMessageConfig = { type: "contactus" | "note" | "chat" | "buy-alert" | "sell-alert"; author: string; body: string; symbol: string; subscribers: string[]; sendAt: { time?: Date; price?: number; }; img?: string; link?: string; }; export declare type SwiftTradersMessageType = IObject & Omit & { author: SwiftTradersUserProfile; }; export interface SwiftTradersMessageDocument extends IDocument, SwiftTradersMessageType { } export interface SwiftTradersMessage extends IInstance, SwiftTradersMessageDocument { } export interface SwiftTradersMessageModel extends IModel { } export declare type SwiftTradersMessagePublicKeys = Exclude; export declare type SwiftTradersMessagePublicData = Pick; export declare type SwiftTradersMessageJson = IJson & SwiftTradersMessagePublicData & { published: Date; author: SwiftTradersUserProfilePreview; }; export declare type SwiftTradersMessageModelMap = { SwiftTradersMessage: SwiftTradersMessageModel; }; export declare type SwiftTradersMessageInstanceMap = { msg: SwiftTradersMessage; }; export declare type SwiftTradersMessageSchemaMap = { msg: Schema; }; export declare type SwiftTradersMessageActionTypes = IActionTypes; export declare type SwiftTradersMessageActions = EnumMap;