import '../../../assert/js/assert.js';
import '../../../globals.js';
import ReadOnlyProperty from '../../../axon/js/ReadOnlyProperty.js';
import { PhetioObjectOptions } from '../../../tandem/js/PhetioObject.js';
import AbstractKeyAccumulator from './AbstractKeyAccumulator.js';
import { KeyIDValue } from './KeyID.js';
type SelfOptions = {
    maxDigitsRightOfMantissa?: number;
    maxDigits?: number;
} & Pick<PhetioObjectOptions, 'tandem' | 'tandemNameSuffix'>;
export type NumberAccumulatorOptions = SelfOptions;
declare class NumberAccumulator extends AbstractKeyAccumulator {
    readonly stringProperty: ReadOnlyProperty<string>;
    readonly valueProperty: ReadOnlyProperty<number | null>;
    constructor(providedOptions?: NumberAccumulatorOptions);
    /**
     * Invoked when a key is pressed and creates proposed set of keys to be passed to the validator
     * @param keyIdentifier - identifier for the key pressed
     */
    handleKeyPressed(keyIdentifier: KeyIDValue): void;
    /**
     * Removes leading zeros from the array.
     */
    private removeLeadingZero;
    /**
     * Converts a set of keys to a string.
     */
    private keysToString;
    /**
     * Converts a string representation to a number.
     */
    private stringToInteger;
    /**
     * Gets the number of digits to the left of mantissa in the accumulator.
     */
    private getNumberOfDigitsLeftOfMantissa;
    /**
     * Gets the number of digits to the right of mantissa in the accumulator.
     */
    private getNumberOfDigitsRightOfMantissa;
    /**
     * Gets the number of digits in the accumulator.
     */
    private getNumberOfDigits;
    /**
     * Gets the number of digits in the accumulator.
     */
    private containsFloatingPoint;
    /**
     * Returns whether the character is valid digit or not
     */
    private isDigit;
    /**
     * clear the accumulator
     */
    clear(): void;
    dispose(): void;
}
export default NumberAccumulator;
//# sourceMappingURL=NumberAccumulator.d.ts.map