): void;
protected addNewAndUpdateExisting(parts: KeyedNumberPart[]): void;
private _prevOffset?;
willUpdate(): void;
didUpdate(): void;
}
type OnRemove = () => void;
interface AnimatePresenceProps {
onRemove?: OnRemove;
animateIn?: boolean;
}
declare class AnimatePresence {
readonly flow: NumberFlowLite;
readonly el: HTMLElement;
private _present;
private _onRemove?;
constructor(flow: NumberFlowLite, el: HTMLElement, { onRemove, animateIn }?: AnimatePresenceProps);
get present(): boolean;
private _remove;
set present(val: boolean);
}
interface CharProps extends AnimatePresenceProps {
}
declare abstract class Char extends AnimatePresence {
readonly section: Section;
protected value: P['value'];
readonly el: HTMLSpanElement;
constructor(section: Section, value: P['value'], el: HTMLSpanElement, props?: AnimatePresenceProps);
abstract willUpdate(parentRect: DOMRect): void;
abstract update(value: P['value']): void;
abstract didUpdate(parentRect: DOMRect): void;
}
export declare class Digit extends Char {
readonly pos: number;
private _numbers;
readonly length: number;
constructor(section: Section, type: KeyedDigitPart['type'], value: KeyedDigitPart['value'], pos: number, props?: CharProps);
private _prevValue?;
private _prevCenter?;
willUpdate(parentRect: DOMRect): void;
update(value: KeyedDigitPart['value']): void;
didUpdate(parentRect: DOMRect): void;
getDelta(): number;
private _onAnimationsFinish;
}
declare class Sym extends Char {
private type;
constructor(section: Section, type: KeyedSymbolPart['type'], value: KeyedSymbolPart['value'], props?: CharProps);
private _children;
private _prevOffset?;
willUpdate(parentRect: DOMRect): void;
private _onChildRemove;
update(value: KeyedSymbolPart['value']): void;
didUpdate(parentRect: DOMRect): void;
}