import type { Attachment } from 'svelte/attachments'; import { get_uuid } from './utils'; export { get_uuid }; declare global { interface CSS { highlights: HighlightRegistry; } interface HighlightRegistry extends Map { clear(): void; delete(key: string): boolean; set(key: string, value: Highlight): this; } } export interface DraggableOptions { handle_selector?: string; disabled?: boolean; on_drag_start?: (event: MouseEvent) => void; on_drag?: (event: MouseEvent) => void; on_drag_end?: (event: MouseEvent) => void; } export type Dimensions = { width: number; height: number; }; export type ResizeCallback = (event: MouseEvent, dimensions: Dimensions) => void; export interface ResizableOptions { edges?: (`top` | `right` | `bottom` | `left`)[]; min_width?: number; min_height?: number; max_width?: number; max_height?: number; handle_size?: number; disabled?: boolean; on_resize_start?: ResizeCallback; on_resize?: ResizeCallback; on_resize_end?: ResizeCallback; } export declare const draggable: (options?: DraggableOptions) => Attachment; export declare const resizable: (options?: ResizableOptions) => Attachment; export declare function get_html_sort_value(element: HTMLElement): string; export interface SortableOptions { header_selector?: string; asc_class?: string; desc_class?: string; sorted_style?: Partial; disabled?: boolean; } export declare const sortable: (options?: SortableOptions) => (node: HTMLElement) => (() => void) | undefined; export type HighlightOptions = { query?: string; disabled?: boolean; fuzzy?: boolean; node_filter?: (node: Node) => number; css_class?: string; }; export declare const highlight_matches: (ops: HighlightOptions) => (node: HTMLElement) => (() => void) | undefined; export interface TooltipOptions { content?: string; placement?: `top` | `bottom` | `left` | `right`; delay?: number; hide_delay?: number; disabled?: boolean | `touch-devices`; style?: string; show_arrow?: boolean; offset?: number; allow_html?: boolean; sanitize_html?: (html: string) => string; } export declare const tooltip: (options?: TooltipOptions) => Attachment; export type ClickOutsideConfig = { enabled?: boolean; exclude?: string[]; callback?: (node: T, config: ClickOutsideConfig) => void; }; export declare const click_outside: (config?: ClickOutsideConfig) => (node: T) => (() => void) | undefined;