/// import type { DownDropEvent } from './draggable'; import type { SvelteTask } from '../task'; import type { SvelteRow } from '../row'; import type { Readable } from 'svelte/store'; export interface DragContext { rootState: Readable<{ [taskId: PropertyKey]: State; }>; off(taskId: PropertyKey): any; save(start: { x: number; y: number; width: number; }, task: SvelteTask, event: DownDropEvent): any; dropAll(event: DownDropEvent): void; moveAll(data: { x?: number; y?: number; width?: number; event?: MouseEvent; }, task: SvelteTask, state: State): any; setState(task: SvelteTask, state: State): any; dragAllowed(task: SvelteTask): boolean; resizeAllowed(task: SvelteTask): boolean; mouseUp(task: SvelteTask): any; } export type Position = { left: number; top: number; width: number; from: number; to: number; }; export type DragChange = { valid: boolean; task: SvelteTask; current: Position; previous: Position; sourceRow: SvelteRow; targetRow: SvelteRow; }; export type State = Partial<{ dragging: boolean; resizing: boolean; x: number; y: number; width: number; /** @deprecated */ ignoreClick: boolean; }>;