import type { BackendFactory, DragDropManager, Unsubscribe } from 'dnd-core'; import type { BackendEntry, MultiBackendSwitcher, PreviewList, Transition } from './types'; export type MultiBackendContext = unknown; export type MultiBackendPipelineStep = { id: string; backend: BackendFactory; transition?: Transition; preview?: boolean; skipDispatchOnTransition?: boolean; options?: unknown; }; export type MultiBackendPipeline = MultiBackendPipelineStep[]; export type MultiBackendOptions = { backends: MultiBackendPipeline; }; export declare class MultiBackendImpl implements MultiBackendSwitcher { #private; private static isSetUp; constructor(manager: DragDropManager, context?: MultiBackendContext, options?: MultiBackendOptions); setup: () => void; teardown: () => void; connectDragSource: (sourceId: unknown, node?: unknown, options?: unknown) => Unsubscribe; connectDragPreview: (sourceId: unknown, node?: unknown, options?: unknown) => Unsubscribe; connectDropTarget: (sourceId: unknown, node?: unknown, options?: unknown) => Unsubscribe; profile: () => Record; previewEnabled: () => boolean; previewsList: () => PreviewList; backendsList: () => BackendEntry[]; }