import type { WithNormalizedProps } from "../../global";
export interface CharacterCountEvent {
    count: number;
    inputAriaLive: Marko.AriaAttributes["aria-live"];
}
interface CharacterCountInput extends Omit<Marko.HTML.Span, `on${string}`> {
    renderBody?: Marko.Body;
    value?: string | number;
    max: number;
    "clipped-text"?: Marko.HTMLAttributes["aria-label"];
    "on-change"?: (event?: CharacterCountEvent) => void;
}
export interface Input extends WithNormalizedProps<CharacterCountInput> {
}
interface State {
    count: number;
}
declare class CharacterCount extends Marko.Component<Input, State> {
    timeout: NodeJS.Timeout;
    onCreate(input: Input): void;
    onInput(input: Input): void;
    countFromValue(value?: string | number): number;
}
export default CharacterCount;
