import { Ref, ComponentPublicInstance } from 'vue'; import { DateObjectValue } from '../types'; export interface InputHandlerOptions { format: string; displayRange: boolean; dateFormatReturn?: string; disableErrorHandling?: boolean; parseDate: (dateStr: string, format: string) => Date | null; formatDate: (date: Date, format: string) => string; generateDateRange: (startDate: Date, endDate: Date) => Date[]; isDateComplete: (value: string) => boolean; displayFormattedDate: Ref; selectedDates: Ref; isFormatting: Ref; isManualInputActive: Ref; isUpdatingFromInternal: Ref; clearValidation: () => void; validateField: (value: unknown, rules?: unknown[], warningRules?: unknown[]) => unknown; updateModel: (value: unknown) => void; emitInput: (value: string) => void; inputRef: Ref; } export declare function useInputHandler(options: InputHandlerOptions): { handleInput: (event: Event) => void; updateModelFromSelectedDates: () => void; updateCursorPosition: (inputElement: HTMLInputElement | null, position: number) => void; formatRangeInput: (value: string, cursorPos: number) => { formattedInput: string; newCursorPos: number; }; updateSelectedDatesFromFormattedValue: (formattedInput: string) => void; };