import { PipeTransform, TemplateRef } from "@angular/core"; import { ArchivedSession } from "@cygnus-reach/session/dist/session"; export type ThemeColor = "primary" | "secondary"; export type SystemColor = "success" | "warn" | "error"; export type IconTabState = undefined | SystemColor; export type GenericDataTableComparator = (valueA: any, valueB: any, rowA: any, rowB: any) => number; export interface GenericDataTableColumn { name: string; field: string; unsortable: boolean; cellTemplate?: TemplateRef; minWidth?: number; maxWidth?: number; comparator?: GenericDataTableComparator; pipe?: PipeTransform; } export interface BasicWelcomeRoundel { color: ThemeColor | SystemColor; icon?: string; iconDefault: string; } export interface BasicWelcomeImage { src: string; alt: string; maxHeight?: string; maxWidth?: string; } export interface BasicWelcomeHeading { color: ThemeColor | SystemColor; text: string; } export interface BasicWelcomeSubheading { color: ThemeColor; text: string; } export interface DialogData { title: string; message: string; confirmButtonText: string; cancelButtonText: string; hideCancelButton: boolean; infoDialog: boolean; includeWarnIcon: boolean; icons: { close: string; warn: string; }; isDelete: boolean; canClose: boolean; messageBullets: string[]; } export interface IconTabData { heading: string; icon?: string; iconDefault: string; notifDot?: boolean; } export interface TabConfig { tab: string; core: T; } export interface DeviceTabConfig { notifDot: boolean; state: IconTabState; } export interface StreamUnitConfig { provide?: boolean; request?: boolean; capture?: boolean; draw?: boolean; } export interface SessionResourcesConfig { media?: boolean; notes?: { editorName: string; }; history?: { customCols?: GenericDataTableColumn[]; sessions: ArchivedSession[]; listAssetCount?: boolean; }; }