import { TemplateResult } from 'lit';
import { Ref } from 'lit/directives/ref.js';
import { PktElement } from '../../base-elements/element';
import { IDatepickerStrings } from './datepicker-types';
/**
 * 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<string, boolean>;
    internals?: ElementInternals;
    abstract strings: IDatepickerStrings;
    inputRef: Ref<HTMLInputElement>;
    btnRef: Ref<HTMLButtonElement>;
    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;
}
