import type { VariantProps } from 'tailwind-variants';
import type { CalendarRootProps, CalendarRootEmits, RangeCalendarRootProps, RangeCalendarRootEmits, DateRange, CalendarCellTriggerProps } from 'reka-ui';
import type { DateValue } from '@internationalized/date';
import type { IconComponent, ButtonProps } from '../types';
import type { PartialString } from '../types/utils';
declare const calendar: import("tailwind-variants").TVReturnType<{
    color: {
        default: {
            cellTrigger: string;
        };
        danger: {
            cellTrigger: string;
        };
        success: {
            cellTrigger: string;
        };
        warning: {
            cellTrigger: string;
        };
        primary: {
            cellTrigger: string;
        };
        secondary: {
            cellTrigger: string;
        };
        collab: {
            cellTrigger: string;
        };
        ai: {
            cellTrigger: string;
        };
    };
    size: {
        xs: {
            heading: string;
            cell: string;
            headCell: string;
            cellTrigger: string;
            body: string;
        };
        sm: {
            heading: string;
            headCell: string;
            cell: string;
            cellTrigger: string;
        };
        md: {
            heading: string;
            headCell: string;
            cell: string;
            cellTrigger: string;
        };
        lg: {
            heading: string;
            headCell: string;
            cell: string;
            cellTrigger: string;
        };
    };
}, {
    root: string;
    header: string;
    body: string;
    heading: string;
    grid: string;
    gridRow: string;
    gridWeekDaysRow: string;
    gridBody: string;
    headCell: string;
    cell: string;
    cellTrigger: string;
}, undefined, {
    color: {
        default: {
            cellTrigger: string;
        };
        danger: {
            cellTrigger: string;
        };
        success: {
            cellTrigger: string;
        };
        warning: {
            cellTrigger: string;
        };
        primary: {
            cellTrigger: string;
        };
        secondary: {
            cellTrigger: string;
        };
        collab: {
            cellTrigger: string;
        };
        ai: {
            cellTrigger: string;
        };
    };
    size: {
        xs: {
            heading: string;
            cell: string;
            headCell: string;
            cellTrigger: string;
            body: string;
        };
        sm: {
            heading: string;
            headCell: string;
            cell: string;
            cellTrigger: string;
        };
        md: {
            heading: string;
            headCell: string;
            cell: string;
            cellTrigger: string;
        };
        lg: {
            heading: string;
            headCell: string;
            cell: string;
            cellTrigger: string;
        };
    };
}, {
    root: string;
    header: string;
    body: string;
    heading: string;
    grid: string;
    gridRow: string;
    gridWeekDaysRow: string;
    gridBody: string;
    headCell: string;
    cell: string;
    cellTrigger: string;
}, import("tailwind-variants").TVReturnType<{
    color: {
        default: {
            cellTrigger: string;
        };
        danger: {
            cellTrigger: string;
        };
        success: {
            cellTrigger: string;
        };
        warning: {
            cellTrigger: string;
        };
        primary: {
            cellTrigger: string;
        };
        secondary: {
            cellTrigger: string;
        };
        collab: {
            cellTrigger: string;
        };
        ai: {
            cellTrigger: string;
        };
    };
    size: {
        xs: {
            heading: string;
            cell: string;
            headCell: string;
            cellTrigger: string;
            body: string;
        };
        sm: {
            heading: string;
            headCell: string;
            cell: string;
            cellTrigger: string;
        };
        md: {
            heading: string;
            headCell: string;
            cell: string;
            cellTrigger: string;
        };
        lg: {
            heading: string;
            headCell: string;
            cell: string;
            cellTrigger: string;
        };
    };
}, {
    root: string;
    header: string;
    body: string;
    heading: string;
    grid: string;
    gridRow: string;
    gridWeekDaysRow: string;
    gridBody: string;
    headCell: string;
    cell: string;
    cellTrigger: string;
}, undefined, {
    color: {
        default: {
            cellTrigger: string;
        };
        danger: {
            cellTrigger: string;
        };
        success: {
            cellTrigger: string;
        };
        warning: {
            cellTrigger: string;
        };
        primary: {
            cellTrigger: string;
        };
        secondary: {
            cellTrigger: string;
        };
        collab: {
            cellTrigger: string;
        };
        ai: {
            cellTrigger: string;
        };
    };
    size: {
        xs: {
            heading: string;
            cell: string;
            headCell: string;
            cellTrigger: string;
            body: string;
        };
        sm: {
            heading: string;
            headCell: string;
            cell: string;
            cellTrigger: string;
        };
        md: {
            heading: string;
            headCell: string;
            cell: string;
            cellTrigger: string;
        };
        lg: {
            heading: string;
            headCell: string;
            cell: string;
            cellTrigger: string;
        };
    };
}, {
    root: string;
    header: string;
    body: string;
    heading: string;
    grid: string;
    gridRow: string;
    gridWeekDaysRow: string;
    gridBody: string;
    headCell: string;
    cell: string;
    cellTrigger: string;
}, import("tailwind-variants").TVReturnType<{
    color: {
        default: {
            cellTrigger: string;
        };
        danger: {
            cellTrigger: string;
        };
        success: {
            cellTrigger: string;
        };
        warning: {
            cellTrigger: string;
        };
        primary: {
            cellTrigger: string;
        };
        secondary: {
            cellTrigger: string;
        };
        collab: {
            cellTrigger: string;
        };
        ai: {
            cellTrigger: string;
        };
    };
    size: {
        xs: {
            heading: string;
            cell: string;
            headCell: string;
            cellTrigger: string;
            body: string;
        };
        sm: {
            heading: string;
            headCell: string;
            cell: string;
            cellTrigger: string;
        };
        md: {
            heading: string;
            headCell: string;
            cell: string;
            cellTrigger: string;
        };
        lg: {
            heading: string;
            headCell: string;
            cell: string;
            cellTrigger: string;
        };
    };
}, {
    root: string;
    header: string;
    body: string;
    heading: string;
    grid: string;
    gridRow: string;
    gridWeekDaysRow: string;
    gridBody: string;
    headCell: string;
    cell: string;
    cellTrigger: string;
}, undefined, unknown, unknown, undefined>>>;
type CalendarVariants = VariantProps<typeof calendar>;
type CalendarDefaultValue<R extends boolean = false, M extends boolean = false> = R extends true ? DateRange : M extends true ? DateValue[] : DateValue;
type CalendarModelValue<R extends boolean = false, M extends boolean = false> = R extends true ? (DateRange | null) : M extends true ? (DateValue[] | undefined) : (DateValue | undefined);
type _CalendarRootProps = Omit<CalendarRootProps, 'as' | 'asChild' | 'modelValue' | 'defaultValue' | 'dir' | 'locale' | 'calendarLabel' | 'multiple'>;
type _RangeCalendarRootProps = Omit<RangeCalendarRootProps, 'as' | 'asChild' | 'modelValue' | 'defaultValue' | 'dir' | 'locale' | 'calendarLabel' | 'multiple'>;
export interface CalendarProps<R extends boolean = false, M extends boolean = false> extends _RangeCalendarRootProps, _CalendarRootProps {
    /**
     * The element or component this component should render as.
     * @defaultValue 'div'
     */
    as?: any;
    /**
     * The icon to use for the next year control.
     * @defaultValue icons.chevronDoubleRight
     * @IconComponent
     */
    nextYearIcon?: IconComponent;
    /**
     * Configure the next year button.
     * `{ color: 'link' }`{lang="ts"}
     */
    nextYear?: ButtonProps;
    /**
     * The icon to use for the next month control.
     * @defaultValue icons.chevronRight
     * @IconComponent
     */
    nextMonthIcon?: IconComponent;
    /**
     * Configure the next month button.
     * `{ color: 'link' }`{lang="ts"}
     */
    nextMonth?: ButtonProps;
    /**
     * The icon to use for the previous year control.
     * @defaultValue icons.chevronDoubleLeft
     * @IconComponent
     */
    prevYearIcon?: IconComponent;
    /**
     * Configure the prev year button.
     * `{ color: 'link' }`{lang="ts"}
     */
    prevYear?: ButtonProps;
    /**
     * The icon to use for the previous month control.
     * @defaultValue icons.chevronLeft
     * @IconComponent
     */
    prevMonthIcon?: IconComponent;
    /**
     * Configure the prev month button.
     * `{ color: 'link' }`{lang="ts"}
     */
    prevMonth?: ButtonProps;
    /**
     * @defaultValue 'primary'
     */
    color?: CalendarVariants['color'];
    /**
     * @defaultValue 'md'
     */
    size?: CalendarVariants['size'];
    /** Whether a range of dates can be selected */
    range?: R & boolean;
    /** Whether multiple dates can be selected */
    multiple?: M & boolean;
    /** Show month controls */
    monthControls?: boolean;
    /** Show year controls */
    yearControls?: boolean;
    defaultValue?: CalendarDefaultValue<R, M>;
    modelValue?: CalendarModelValue<R, M>;
    class?: any;
    b24ui?: PartialString<typeof calendar.slots>;
}
export interface CalendarEmits<R extends boolean, M extends boolean> extends Omit<CalendarRootEmits & RangeCalendarRootEmits, 'update:modelValue'> {
    'update:modelValue': [date: CalendarModelValue<R, M>];
}
export interface CalendarSlots {
    'heading': (props: {
        value: string;
    }) => any;
    'day': (props: Pick<CalendarCellTriggerProps, 'day'>) => any;
    'week-day': (props: {
        day: string;
    }) => any;
}
declare const _default: <R extends boolean, M extends boolean>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: __VLS_PrettifyLocal<any & CalendarProps<R, M> & Partial<{}>> & (import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps);
    expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: Readonly<CalendarSlots> & CalendarSlots;
    emit: ((evt: "update:modelValue", date: CalendarModelValue<R, M>) => void) & ((evt: "update:placeholder", ...args: [date: DateValue] & [date: DateValue]) => void) & ((evt: "update:startValue", date: DateValue | undefined) => void);
}>) => import("vue").VNode & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
