type CoreDomElement = HTMLElement | SVGElement;
type CoreDomSelect = CoreDomElement | CoreDomElement[] | NodeList | Document | string | null;
type ScaleTextOptions = {
width?: number | 'auto' | string;
method?: 'font-size' | 'letter-spacing' | 'word-spacing';
minSize?: number | string;
maxSize?: number | string;
resize?: boolean;
onResize?: (() => void)[];
onRefresh?: (() => void)[];
dev?: boolean;
};
declare class ScaleText {
private uc;
private element;
private options;
private resizeObserver;
private mutationObserver;
private width;
constructor(target: CoreDomSelect, options: ScaleTextOptions);
private setProperty;
refresh(): void;
resize(): void;
setWidth(width: number): void;
revert(): void;
private log;
private warn;
addOnResize(callback: () => void): void;
addOnRefresh(callback: () => void): void;
}
declare const scaleText: {
(target: CoreDomSelect, options: ScaleTextOptions): ScaleText;
label: string;
};
export { scaleText };