import { CalendarDay, CalendarDayState, CalendarReserved, CalendarSelected, CalendarDisabled, CalendarDate, CalendarOptions, CommonProps } from "./types";
export declare function cn(...classes: any): any;
export declare function getAttributes(attributes: Record<string, boolean>): {};
export declare const getSelectedDates: (selected: CalendarSelected[]) => (Date | null)[];
export declare const preProtection: (date: Date, state: CalendarDayState, commonProps: CommonProps) => CalendarSelected[] | null;
type CreateMonthDays = {
    dateOfMonth: CalendarDate;
    options?: CalendarOptions;
};
export declare const createMonthDays: import("memoize-one").MemoizedFn<({ dateOfMonth, options }: CreateMonthDays) => CalendarDay[]>;
type CreateScrollableDays = CreateMonthDays & {
    monthsCount: number;
};
export declare const createScrollableDays: import("memoize-one").MemoizedFn<({ dateOfMonth, options, monthsCount, }: CreateScrollableDays) => CalendarDay[]>;
interface DayStateProps {
    day: CalendarDay | CalendarDay;
    selected?: CalendarSelected[];
    reserved?: CalendarReserved[];
    disabled?: CalendarDisabled;
}
export declare const getDayState: ({ day, selected, reserved, disabled, }: DayStateProps) => CalendarDayState;
export declare function getDayAttributes(state: CalendarDayState, options?: CalendarOptions): Record<string, boolean>;
export declare const isClickable: ({ isDisabled, isPast, isReserved, }: CalendarDayState) => boolean;
export declare function isNumeric(value: any): boolean;
export {};
