import { TransformEngine, TransformState, GuideLine, SketchRulerPlugin, ZoomMode } from '@sketch-ruler/core'; export type { GuideLine, SketchRulerPlugin, ZoomMode } from '@sketch-ruler/core'; export interface PaletteType { bgColor?: string; tickColor?: string; labelColor?: string; guideLineColor?: string; guideLineLockedColor?: string; hoverBg?: string; hoverColor?: string; borderColor?: string; shadowColor?: string; fontShadowColor?: string; cornerActiveColor?: string; guideLineStyle?: string; guideLineWidth?: number; labelEnabled?: boolean; labelPosition?: string; labelFormat?: (value: number) => string; } export interface FinalPaletteType { bgColor: string; tickColor: string; labelColor: string; guideLineColor: string; guideLineLockedColor: string; hoverBg: string; hoverColor: string; borderColor: string; shadowColor: string; fontShadowColor: string; } export interface ShadowType { x: number; y: number; width: number; height: number; } export interface LineType { h: number[]; v: number[]; } export interface SketchRulerProps { showRuler?: boolean; scale?: number; thick?: number; width?: number; height?: number; canvasWidth?: number; canvasHeight?: number; palette?: PaletteType; lines?: LineType; isShowReferLine?: boolean; snapThreshold?: number; lockLine?: boolean; selfHandle?: boolean; zoomStep?: number; minZoom?: number; maxZoom?: number; animationMode?: 'direct' | 'ease-out' | 'damped' | 'exponential'; zoomMode?: ZoomMode; enableAnimation?: boolean; plugins?: SketchRulerPlugin[]; autoCenter?: boolean; paddingRatio?: number; shadow?: ShadowType; initialOffset?: { x: number; y: number; }; showMinorTicks?: boolean; eyeIcon?: string; closeEyeIcon?: string; deleteLabel?: string; children?: React.ReactNode; onUpdateScale?: (scale: number) => void; onZoomChange?: (detail: { scale: number; x: number; y: number; }) => void; onUpdateLines?: (lines: LineType) => void; onUpdateLockLine?: (lock: boolean) => void; onHandleCornerClick?: (show: boolean) => void; } export interface RulerWrapperProps { vertical: boolean; width: number; height: number; thick: number; scale: number; offset: { x: number; y: number; }; lines: GuideLine[]; palette: FinalPaletteType; showReferLine: boolean; shadowStart?: number; shadowLength?: number; canvasSize?: number; showMinorTicks?: boolean; canvasWidth?: number; canvasHeight?: number; deleteLabel?: string; lockLine?: boolean; onAddLine?: (line: Omit) => void; onUpdateLine?: (id: string, position: number) => void; onDeleteLine?: (id: string) => void; } export interface LineProps { line: GuideLine; scale: number; offset: number; palette: FinalPaletteType; vertical: boolean; canvasWidth: number; canvasHeight: number; width?: number; height?: number; thick?: number; lockLine?: boolean; deleteLabel?: string; isInScale?: boolean; onUpdate?: (id: string, position: number) => void; onDelete?: (id: string) => void; } export interface CanvasProps { marks: any[]; palette: FinalPaletteType; vertical: boolean; thick: number; width: number; height: number; ratio?: number; } export interface SketchRulerMethods { engine: TransformEngine; reset: () => void; zoomIn: () => void; zoomOut: () => void; setTransform: (t: Partial) => void; setZoomMode: (mode: ZoomMode) => void; zoomToPreset: (preset: number) => void; } //# sourceMappingURL=index-types.d.ts.map