import type { Type } from '@angular/core'; export interface CuiSegmentedWindow { readonly id: string; readonly slotId?: string; readonly title: string; readonly component: Type; readonly inputs?: Record; readonly isPrimary?: boolean; readonly canClose?: boolean; readonly drilldown?: boolean; readonly link?: string; } export type CuiSegmentedWindowPatch = Partial>; export interface CuiSegmentedWindowsState { readonly windows: T[]; readonly history: T[]; readonly isPrimaryCollapsed: boolean; } export interface CuiSegmentedWindowsLayoutContext { readonly checkIsPrimaryWindow: (window: T) => boolean; readonly createSlotId: () => string; } export interface CuiSegmentedWindowTemplateContext { readonly $implicit: T; }