import { TextAlignment } from '../../../Types/TextAlignment';
import { CustomElement } from '../../Abstracts/CustomElement';
import type { INumberCounterElementProps } from './INumberCounterElementProps';
import { CssTime } from '@breadstone/mosaik-themes';
declare const NumberCounterElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Variantable").IVariantableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Disableable").IDisableableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Number - The number element is used to display a number.
 *
 * @description
 * TBD
 *
 * @element mosaik-number-counter
 * @category Display
 *
 * @slot number - The number slot.
 *
 * @example
 * ```html
 * <mosaik-number-counter from="0" to="100">
 * </mosaik-number-counter>
 * ```
 *
 * @public
 */
export declare class NumberCounterElement extends NumberCounterElement_base implements INumberCounterElementProps {
    private _from;
    private _to;
    private _duration;
    private _readonly;
    private _alignment;
    /**
     * Constructs a new instance of the `NumberCounterElement` class.
     *
     * @public
     */
    constructor();
    /**
     * Returns the `is` property.
     *
     * @public
     * @static
     * @readonly
    */
    static get is(): string;
    /**
     * Gets or sets the `from` property.
     *
     * @public
     * @attr
     */
    get from(): number;
    set from(value: number);
    /**
     * Gets or sets the `to` property.
     *
     * @public
     * @attr
     */
    get to(): number;
    set to(value: number);
    /**
     * Gets or sets the `duration` property.
     *
     * @public
     * @attr
     */
    get duration(): CssTime;
    set duration(value: CssTime);
    /**
     * Gets or sets the `readonly` property.
     *
     * @public
     * @attr
     */
    get readonly(): boolean;
    set readonly(value: boolean);
    /**
     * Gets or sets the `alignment` property.
     *
     * Posible values are:
     * * `center`
     * * `justify`
     * * `left`
     * * `right`
     *
     * @public
     * @attr
     */
    get alignment(): TextAlignment;
    set alignment(value: TextAlignment);
    /**
     * @protected
     */
    protected onFromPropertyChanged(_prev?: number, next?: number): void;
    /**
     * @protected
     */
    protected onToPropertyChanged(_prev?: number, next?: number): void;
    /**
     * @protected
     */
    protected onDurationPropertyChanged(_prev?: CssTime, next?: CssTime): void;
}
/**
 * @public
 */
export declare namespace NumberCounterElement {
    type Props = INumberCounterElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-number-counter': NumberCounterElement;
    }
}
export {};
//# sourceMappingURL=NumberCounterElement.d.ts.map