import type { Backend } from 'dnd-core'; export type Transition = { event: string; check: (e: Event) => boolean; }; export type BackendEntry = { id: string; instance: Backend; preview: boolean; transition?: Transition; skipDispatchOnTransition: boolean; }; export interface MultiBackendSwitcher extends Backend { backendsList(): BackendEntry[]; previewsList(): PreviewList; previewEnabled(): boolean; } export interface PreviewListener { backendChanged(backend: MultiBackendSwitcher): void; } export interface PreviewList { register(listener: PreviewListener): void; unregister(listener: PreviewListener): void; backendChanged(backend: MultiBackendSwitcher): void; }