import { type Writable } from 'svelte/store'; export declare type Position = { originX: number; originY: number; translateX: number; translateY: number; scale: number; }; export declare type Dragger = { element: HTMLElement; minScale: number; maxScale: number; scaleSensitivity: number; transformation: Writable; }; export declare type HasPositionChanged = (position: { pos: number; prevPos: number; }) => boolean; export declare type ValueInRange = (scale: { minScale: number; maxScale: number; scale: number; }) => boolean; export declare type GetTruePosition = (scale: { x: number; y: number; scale: number; translateX: number; translateY: number; originX: number; originY: number; }) => { x: number; y: number; }; export declare type GetTranslate = (scale: { minScale: number; maxScale: number; scale: number; }) => (position: { pos: number; prevPos: number; translate: number; }) => number; export declare type GetMatrix = (translate: { scale: number; translateX: number; translateY: number; }) => string; export declare type GetScale = (scale: { scale: number; minScale: number; maxScale: number; scaleSensitivity: number; deltaScale: number; }) => [number, number]; export declare type Pan = (positions: { state: Dragger; originX: number; originY: number; }) => void; export declare type CanPan = (state: Dragger) => { panBy: (origins: { originX: number; originY: number; }) => void; panTo: (positions: { originX: number; originY: number; scale: number; }) => void; }; export declare type CanZoom = (state: Dragger) => { zoom: (postions: { x: number; y: number; deltaScale: number; }) => void; }; export declare type DragInstance = ReturnType & ReturnType; export declare const getTruePosition: GetTruePosition; export declare const getMatrix: GetMatrix; declare const _default: ({ minScale, maxScale, element, transformation, scaleSensitivity, }: { minScale: number; maxScale: number; element: HTMLElement; transformation: Dragger['transformation']; scaleSensitivity: number; }) => DragInstance; export default _default;