import { USWDSBaseComponent } from '@uswds-wc/core'; /** * USA Character Count Web Component * * ARCHITECTURE: Pure Lit Implementation (USWDS Behavior Disabled) * The USWDS character-count JavaScript behavior directly manipulates textContent * which destroys Lit's ChildPart markers in Light DOM. This component implements * 100% behavioral parity with USWDS through Lit's reactive system instead. * * @element usa-character-count * @fires character-count-change - Dispatched when character count changes * * @see README.mdx - Complete API documentation, usage examples, and implementation notes * @see CHANGELOG.mdx - Component version history and breaking changes * @see TESTING.mdx - Testing documentation and coverage reports * * @uswds-js-reference https://github.com/uswds/uswds/tree/develop/packages/usa-character-count/src/index.js * @uswds-css-reference https://github.com/uswds/uswds/tree/develop/packages/usa-character-count/src/styles/_usa-character-count.scss * @uswds-docs https://designsystem.digital.gov/components/character-count/ * @uswds-guidance https://designsystem.digital.gov/components/character-count/#guidance * @uswds-accessibility https://designsystem.digital.gov/components/character-count/#accessibility * @uswds-behavior-disabled Lit incompatibility - pure Lit implementation maintains behavioral parity */ export declare class USACharacterCount extends USWDSBaseComponent { static styles: import('lit').CSSResult; value: string; maxlength: number; label: string; hint: string; name: string; inputType: 'input' | 'textarea'; rows: number; placeholder: string; disabled: boolean; required: boolean; readonly: boolean; error: string; private _currentLength; private _isNearLimit; private _isOverLimit; connectedCallback(): void; firstUpdated(changedProperties: Map): Promise; disconnectedCallback(): void; updated(changedProperties: Map): void; private updateCharacterCountSync; private handleInput; private getCharacterCountMessage; focus(): void; blur(): void; select(): void; clear(): void; getCharacterCount(): number; getRemainingCharacters(): number | null; isNearLimit(): boolean; isOverLimit(): boolean; private renderRequiredIndicator; private renderHint; private renderTextarea; private renderInput; private renderField; render(): import('lit-html').TemplateResult<1>; } //# sourceMappingURL=usa-character-count.d.ts.map