import * as tailwind_variants from 'tailwind-variants';
import { VariantProps } from 'tailwind-variants';
import * as tailwind_merge from 'tailwind-merge';

/**
 * DatePicker wrapper **Tailwind Variants** component
 *
 * @example
 */
declare const datePicker: tailwind_variants.TVReturnType<{
    [key: string]: {
        [key: string]: tailwind_merge.ClassNameValue | {
            base?: tailwind_merge.ClassNameValue;
            selectorIcon?: tailwind_merge.ClassNameValue;
            popoverContent?: tailwind_merge.ClassNameValue;
            selectorButton?: tailwind_merge.ClassNameValue;
            calendar?: tailwind_merge.ClassNameValue;
            calendarContent?: tailwind_merge.ClassNameValue;
            timeInputLabel?: tailwind_merge.ClassNameValue;
            timeInput?: tailwind_merge.ClassNameValue;
        };
    };
} | {
    [x: string]: {
        [x: string]: tailwind_merge.ClassNameValue | {
            base?: tailwind_merge.ClassNameValue;
            selectorIcon?: tailwind_merge.ClassNameValue;
            popoverContent?: tailwind_merge.ClassNameValue;
            selectorButton?: tailwind_merge.ClassNameValue;
            calendar?: tailwind_merge.ClassNameValue;
            calendarContent?: tailwind_merge.ClassNameValue;
            timeInputLabel?: tailwind_merge.ClassNameValue;
            timeInput?: tailwind_merge.ClassNameValue;
        };
    };
} | {}, {
    base: string;
    selectorButton: string;
    selectorIcon: string;
    popoverContent: string;
    calendar: string;
    calendarContent: string;
    timeInputLabel: string;
    timeInput: string;
}, undefined, {
    [key: string]: {
        [key: string]: tailwind_merge.ClassNameValue | {
            base?: tailwind_merge.ClassNameValue;
            selectorIcon?: tailwind_merge.ClassNameValue;
            popoverContent?: tailwind_merge.ClassNameValue;
            selectorButton?: tailwind_merge.ClassNameValue;
            calendar?: tailwind_merge.ClassNameValue;
            calendarContent?: tailwind_merge.ClassNameValue;
            timeInputLabel?: tailwind_merge.ClassNameValue;
            timeInput?: tailwind_merge.ClassNameValue;
        };
    };
} | {}, {
    base: string;
    selectorButton: string;
    selectorIcon: string;
    popoverContent: string;
    calendar: string;
    calendarContent: string;
    timeInputLabel: string;
    timeInput: string;
}, tailwind_variants.TVReturnType<unknown, {
    base: string;
    selectorButton: string;
    selectorIcon: string;
    popoverContent: string;
    calendar: string;
    calendarContent: string;
    timeInputLabel: string;
    timeInput: string;
}, undefined, unknown, unknown, undefined>>;
declare const dateRangePicker: tailwind_variants.TVReturnType<{
    [key: string]: {
        [key: string]: tailwind_merge.ClassNameValue | {
            separator?: tailwind_merge.ClassNameValue;
            calendar?: tailwind_merge.ClassNameValue;
            bottomContent?: tailwind_merge.ClassNameValue;
            timeInputWrapper?: tailwind_merge.ClassNameValue;
        };
    };
} | {
    [x: string]: {
        [x: string]: tailwind_merge.ClassNameValue | {
            separator?: tailwind_merge.ClassNameValue;
            calendar?: tailwind_merge.ClassNameValue;
            bottomContent?: tailwind_merge.ClassNameValue;
            timeInputWrapper?: tailwind_merge.ClassNameValue;
        };
    };
} | {
    [x: string]: {
        [x: string]: tailwind_merge.ClassNameValue | {
            separator?: tailwind_merge.ClassNameValue;
            calendar?: tailwind_merge.ClassNameValue;
            bottomContent?: tailwind_merge.ClassNameValue;
            timeInputWrapper?: tailwind_merge.ClassNameValue;
        };
    };
} | {}, {
    calendar: string;
    bottomContent: string;
    timeInputWrapper: string;
    separator: string;
}, undefined, {
    [key: string]: {
        [key: string]: tailwind_merge.ClassNameValue | {
            base?: tailwind_merge.ClassNameValue;
            selectorIcon?: tailwind_merge.ClassNameValue;
            popoverContent?: tailwind_merge.ClassNameValue;
            selectorButton?: tailwind_merge.ClassNameValue;
            calendar?: tailwind_merge.ClassNameValue;
            calendarContent?: tailwind_merge.ClassNameValue;
            timeInputLabel?: tailwind_merge.ClassNameValue;
            timeInput?: tailwind_merge.ClassNameValue;
        };
    };
} | {
    [x: string]: {
        [x: string]: tailwind_merge.ClassNameValue | {
            base?: tailwind_merge.ClassNameValue;
            selectorIcon?: tailwind_merge.ClassNameValue;
            popoverContent?: tailwind_merge.ClassNameValue;
            selectorButton?: tailwind_merge.ClassNameValue;
            calendar?: tailwind_merge.ClassNameValue;
            calendarContent?: tailwind_merge.ClassNameValue;
            timeInputLabel?: tailwind_merge.ClassNameValue;
            timeInput?: tailwind_merge.ClassNameValue;
        };
    };
} | {}, {
    base: string;
    selectorButton: string;
    selectorIcon: string;
    popoverContent: string;
    calendar: string;
    calendarContent: string;
    timeInputLabel: string;
    timeInput: string;
}, tailwind_variants.TVReturnType<{
    [key: string]: {
        [key: string]: tailwind_merge.ClassNameValue | {
            base?: tailwind_merge.ClassNameValue;
            selectorIcon?: tailwind_merge.ClassNameValue;
            popoverContent?: tailwind_merge.ClassNameValue;
            selectorButton?: tailwind_merge.ClassNameValue;
            calendar?: tailwind_merge.ClassNameValue;
            calendarContent?: tailwind_merge.ClassNameValue;
            timeInputLabel?: tailwind_merge.ClassNameValue;
            timeInput?: tailwind_merge.ClassNameValue;
        };
    };
} | {
    [x: string]: {
        [x: string]: tailwind_merge.ClassNameValue | {
            base?: tailwind_merge.ClassNameValue;
            selectorIcon?: tailwind_merge.ClassNameValue;
            popoverContent?: tailwind_merge.ClassNameValue;
            selectorButton?: tailwind_merge.ClassNameValue;
            calendar?: tailwind_merge.ClassNameValue;
            calendarContent?: tailwind_merge.ClassNameValue;
            timeInputLabel?: tailwind_merge.ClassNameValue;
            timeInput?: tailwind_merge.ClassNameValue;
        };
    };
} | {}, {
    base: string;
    selectorButton: string;
    selectorIcon: string;
    popoverContent: string;
    calendar: string;
    calendarContent: string;
    timeInputLabel: string;
    timeInput: string;
}, undefined, {
    [key: string]: {
        [key: string]: tailwind_merge.ClassNameValue | {
            base?: tailwind_merge.ClassNameValue;
            selectorIcon?: tailwind_merge.ClassNameValue;
            popoverContent?: tailwind_merge.ClassNameValue;
            selectorButton?: tailwind_merge.ClassNameValue;
            calendar?: tailwind_merge.ClassNameValue;
            calendarContent?: tailwind_merge.ClassNameValue;
            timeInputLabel?: tailwind_merge.ClassNameValue;
            timeInput?: tailwind_merge.ClassNameValue;
        };
    };
} | {}, {
    base: string;
    selectorButton: string;
    selectorIcon: string;
    popoverContent: string;
    calendar: string;
    calendarContent: string;
    timeInputLabel: string;
    timeInput: string;
}, tailwind_variants.TVReturnType<unknown, {
    base: string;
    selectorButton: string;
    selectorIcon: string;
    popoverContent: string;
    calendar: string;
    calendarContent: string;
    timeInputLabel: string;
    timeInput: string;
}, undefined, unknown, unknown, undefined>>>;
/** Base */
type DatePickerReturnType = ReturnType<typeof datePicker>;
type DatePickerVariantProps = VariantProps<typeof datePicker>;
type DatePickerSlots = keyof ReturnType<typeof datePicker>;
/** Range */
type DateRangePickerReturnType = ReturnType<typeof dateRangePicker>;
type DateRangePickerVariantProps = VariantProps<typeof dateRangePicker>;
type DateRangePickerSlots = keyof ReturnType<typeof dateRangePicker>;

export { type DatePickerReturnType, type DatePickerSlots, type DatePickerVariantProps, type DateRangePickerReturnType, type DateRangePickerSlots, type DateRangePickerVariantProps, datePicker, dateRangePicker };
