import { ComputedRef, Ref, CSSProperties } from 'vue'; import { RulerState, GuideLine, RulerPalette, TransformEngine } from '@sketch-ruler/core'; import { RulerContext } from '../state/ruler-context'; export interface SketchRulerOptions { width: number; height: number; canvasWidth: number; canvasHeight: number; thick?: number; scale?: number; palette?: Partial; lines?: { h: number[]; v: number[]; }; snapThreshold?: number; lockLine?: boolean; minZoom?: number; maxZoom?: number; zoomStep?: number; autoCenter?: boolean; showRuler?: boolean; } export interface UseSketchRulerReturn { engine: TransformEngine; scale: Ref; offset: Ref<{ x: number; y: number; }>; rectWidth: ComputedRef; rectHeight: ComputedRef; rectStyle: ComputedRef; canvasStyle: ComputedRef; cornerStyle: ComputedRef; paletteCpu: ComputedRef; horizontalLines: ComputedRef; verticalLines: ComputedRef; state: Ref; zoomIn: () => void; zoomOut: () => void; reset: () => void; panBy: (dx: number, dy: number) => void; setTransform: (t: { scale?: number; x?: number; y?: number; }) => void; addLine: (line: Omit) => void; moveLine: (id: string, position: number) => void; removeLine: (id: string) => void; toggleLineLock: (id: string) => void; context: RulerContext; } export declare function useSketchRuler(options: SketchRulerOptions): UseSketchRulerReturn; //# sourceMappingURL=useSketchRuler.d.ts.map