import { Ref } from 'vue';
import { getTickConfig, applyHysteresis, ScaleMark, TickConfig } from '@sketch-ruler/core';
export type { ScaleMark, TickConfig };
export interface RulerScaleOptions {
    /** 标尺厚度（像素） */
    thick: number;
    /** 视口尺寸 */
    viewportSize: Ref<{
        width: number;
        height: number;
    }>;
    /** 当前缩放比例 */
    scale: Ref<number>;
    /** 平移偏移 */
    offset: Ref<{
        x: number;
        y: number;
    }>;
    /** 是否垂直方向 */
    vertical?: boolean;
    /** 画布尺寸（世界坐标），用于过滤超出范围的标注 */
    canvasSize?: Ref<number>;
    /** 是否显示次刻度线，默认 false */
    showMinorTicks?: Ref<boolean>;
}
export declare function useRulerScale(options: RulerScaleOptions): {
    ticks: import('vue').ComputedRef<ScaleMark[]>;
    currentConfig: import('vue').ComputedRef<TickConfig>;
};
export { getTickConfig, applyHysteresis };
//# sourceMappingURL=useRulerScale.d.ts.map