/**
 * 리팩토링된 InfiniteCalendar 컴포넌트
 * - 비즈니스 로직과 UI 완전 분리
 * - 복잡한 로직을 커스텀 훅으로 추출
 * - 단일 책임 원칙 적용
 * - 성능 최적화 및 메모리 리크 방지
 */
import type { CalendarEvent, Holiday, LocaleCode, CalendarOptions } from '../types';
interface InfiniteCalendarProps {
    events?: CalendarEvent[];
    holidays?: Holiday[];
    dynamicEvents?: (startDate: string | Date, endDate: string | Date) => Promise<any[]>;
    dynamicEventMapping?: {
        id?: string;
        title?: string;
        date?: string;
        startTime?: string;
        endTime?: string;
        color?: string;
        description?: string;
    };
    dynamicEventTransform?: (apiData: any) => CalendarEvent;
    onDynamicEventLoad?: (startDate: Date, endDate: Date, events: CalendarEvent[]) => void;
    onDayAction?: (date: Date, dayInfo?: {
        events: CalendarEvent[];
        holidays: Holiday[];
    }) => void;
    locale?: LocaleCode | string;
    holidayServiceKey?: string;
    options?: CalendarOptions;
    showTodayButton?: boolean;
    showDatePicker?: boolean;
    height?: number | 'auto';
    initialDate?: Date;
}
/**
 * 무한 스크롤 캘린더 컴포넌트
 *
 * @example
 * ```tsx
 * <InfiniteCalendar
 *   events={events}
 *   dynamicEvents={async (startDate, endDate) => await fetchEvents(startDate, endDate)}
 *   onDayAction={(date, dayInfo) => handleDayClick(date, dayInfo)}
 *   options={{
 *     debug: true,
 *     height: 'auto',
 *     autoHeight: { bottomOffset: 20 }
 *   }}
 * />
 * ```
 */
declare const InfiniteCalendar: import("react").NamedExoticComponent<InfiniteCalendarProps>;
export { InfiniteCalendar };
