import { VTextField } from 'vuetify/components/VTextField';
import '@vuepic/vue-datepicker/dist/main.css';
import { type dateFormat } from '../../utils/datetime.js';
interface Props extends /* @vue-ignore */ InstanceType<typeof VTextField['$props']> {
    locale?: 'TH' | 'EN';
    format?: dateFormat | string;
    modelValue?: string | null;
    holiday?: object[] | undefined;
    minDate?: Date | string;
    maxDate?: Date | string;
    pickerOnly?: boolean;
    flow?: ('month' | 'year' | 'calendar' | 'time' | 'minutes' | 'hours' | 'seconds')[];
    rules?: typeof VTextField['rules'];
    defaultDate?: boolean | string;
}
declare function resetDatePicker(): void;
declare function toggleMenuOpen(trigger: string): void;
declare function validate(): void;
declare function resetValidation(): void;
declare var __VLS_25: {
    toggleMenuOpen: typeof toggleMenuOpen;
    activatorProps: Record<string, any>;
    id: import("vue").ComputedRef<string>;
    messagesId: import("vue").ComputedRef<string | undefined>;
    isDirty: import("vue").ComputedRef<boolean>;
    isDisabled: import("vue").ComputedRef<boolean>;
    isReadonly: import("vue").ComputedRef<boolean>;
    isPristine: import("vue").Ref<boolean>;
    isValid: import("vue").ComputedRef<boolean | null>;
    isValidating: import("vue").Ref<boolean>;
    hasDetails: import("vue").Ref<boolean>;
    reset: () => void;
    resetValidation: () => void;
    validate: () => void;
};
type __VLS_Slots = {} & {
    append?: (props: typeof __VLS_25) => any;
};
declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
    locale: string;
    format: string;
    pickerOnly: boolean;
    flow: () => never[];
    defaultDate: boolean;
}>>, {
    reset: typeof resetDatePicker;
    validate: typeof validate;
    resetValidation: typeof resetValidation;
    isValid: boolean | null | undefined;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:modelValue": (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<Props>, {
    locale: string;
    format: string;
    pickerOnly: boolean;
    flow: () => never[];
    defaultDate: boolean;
}>>> & Readonly<{
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_TypePropsToOption<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: import('vue').PropType<Required<T>[K]>;
    } : {
        type: import('vue').PropType<T[K]>;
        required: true;
    };
};
type __VLS_WithDefaults<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
        default: D[K];
    }> : P[K];
};
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
type __VLS_PrettifyLocal<T> = (T extends any ? {
    [K in keyof T]: T[K];
} : {
    [K in keyof T as K]: T[K];
}) & {};
