import { TemplateResult } from 'lit'; import { Ref } from 'lit/directives/ref.js'; import { PktElement } from '../../base-elements/element'; import { IDatepickerStrings } from './datepicker-types'; import { TPktInputSize } from '../../shared-types/size'; /** * Abstract base class for datepicker input components * * Consolidates shared properties, methods, and event dispatchers * used by all three datepicker input types (single, multiple, range). * * Subclasses must implement: * - `strings` property with component-specific defaults * - `render()` method with component-specific template */ export declare abstract class PktDatepickerBase extends PktElement { inputType: string; id: string; min?: string; max?: string; placeholder?: string; readonly: boolean; disabled: boolean; inputClasses: Record; inputSize: TPktInputSize; internals?: ElementInternals; abstract strings: IDatepickerStrings; inputRef: Ref; btnRef: Ref; get inputElement(): HTMLInputElement | undefined; get buttonElement(): HTMLButtonElement | undefined; get isInputReadonly(): boolean; protected dispatchToggleCalendar(e: Event): void; protected dispatchInput(e: Event): void; protected dispatchFocus(): void; protected dispatchBlur(e: FocusEvent): void; protected dispatchChange(e: Event): void; protected renderCalendarButton(): TemplateResult; createRenderRoot(): this; abstract render(): TemplateResult; }