import { Schema } from "mongoose"; import { EnumMap, IJson, IDocument, IObject, IInstance, IModel, IAction, IActionTypes, MiscInfo } from "@onebro/oba-common"; import { FinavigatorUserProfile, FinavigatorUserProfilePreview } from "./profiles"; export declare enum FinavigatorTaskStatuses { N = "New", S = "Saved", Y = "Sent", Z = "Seen/Read", A = "Accepted", D = "Declined", R = "Revised", E = "Expired", C = "Cancelled" } export declare type FinavigatorTaskStatus = keyof typeof FinavigatorTaskStatuses; export declare type FinavigatorTaskConfig = { type: "article" | "opinion" | "tutorial"; author: string; title?: string; }; export declare type FinavigatorTaskType = IObject & Omit & { author: FinavigatorUserProfile; slug: string; featured: boolean; body: string; tags: string | MiscInfo[]; views: number; }; export interface FinavigatorTaskDocument extends IDocument, FinavigatorTaskType { } export interface FinavigatorTask extends IInstance, FinavigatorTaskDocument { } export interface FinavigatorTaskModel extends IModel { } export declare type FinavigatorTaskPublicKeys = "type" | "slug" | "title" | "featured" | "body" | "tags" | "views"; export declare type FinavigatortaskPublicData = Pick; export declare type FinavigatorTaskJson = IJson & FinavigatortaskPublicData & { published: Date; author: FinavigatorUserProfilePreview; }; export declare type FinavigatorTaskModelMap = { FinavigatorTask: FinavigatorTaskModel; }; export declare type FinavigatorTaskInstanceMap = { task: FinavigatorTask; }; export declare type FinavigatorTaskSchemaMap = { task: Schema; }; export declare type FinavigatorTaskActionTypes = IActionTypes; export declare type FinavigatorTaskActions = EnumMap;