import { ViewId, ViewTypes } from '@veeqo/ui/dist/components/View/types'; export type ViewKey = ViewId; declare global { interface Window { customViewsScrollBehavior: ScrollBehavior; } } export type Shared = 'false' | 'true'; export type ViewType = { id?: ViewId; key: ViewKey; label: string; type: keyof typeof ViewTypes; count?: number; editable: boolean; default: boolean; shared: boolean; duplicatable: boolean; }; export type IncludedFilter = { label: string; text: string; }; export type ViewsClassNames = { container?: string; controls?: string; createButton?: string; reorderButton?: string; loader?: string; reorderDropdown?: string; fixedViews?: string; fixedView?: string; }; export type ViewClassNames = { view?: string; optionsDropdown?: string; savedViewEditDropdown?: string; draftViewEditDropdown?: string; deleteConfirmation?: string; draftViewInfoPill?: string; successNotification?: string; unsavedChangesPill?: string; }; export type CommonViewPropTypes = { activeViewKey: ViewKey; includedFilters: IncludedFilter[]; hasUnsavedChanges: boolean; pageName?: string; }; export type ViewHandlers = { onSave: (key: ViewKey, viewName: ViewName, editable: boolean, shared: boolean) => void; onDelete: (key: ViewKey) => void; handleDuplicateView: (key: ViewKey) => void; handleChangeActiveView: (key: ViewKey) => void; handleCreateCustomViewWithCurrentFilters: () => void; // via pill handleDiscardUnsavedChanges: () => void; handleSaveToCurrentView: (key: ViewKey, editable: boolean) => void; // via pill handleSetDefault: (key: ViewKey, isDefault: boolean) => void; }; export type ViewName = string;