import { type RefObject } from 'react'; import type { ArkmeCalendarBucketDay, ArkmeCalendarRecordItem } from '../types.js'; import type { SelfCalendarDateSelection } from './use-self-calendar-navigation.js'; import type { CalendarMonthSnapshot } from './calendar-month-cache.js'; export declare function ArkmeCalendarMonthView({ visibleMonth, selectedDate, today, days, loading, error, onVisibleMonthChange, onSelectDate, recordingDates, allowFuture, }: { visibleMonth: Date; selectedDate: Date; today: Date; days: readonly ArkmeCalendarBucketDay[]; loading: boolean; error: string; onVisibleMonthChange(month: Date): void; onSelectDate(date: Date): void; recordingDates?: ReadonlySet; allowFuture?: boolean; }): import("react").JSX.Element; type CalendarMonthReader = (query: { startDate: string; endDate: string; timezone: string; }, signal: AbortSignal) => Promise<{ days: ArkmeCalendarBucketDay[]; }>; type CalendarIndex = Omit & { loadMonth?: CalendarMonthReader; value?: { days: ArkmeCalendarBucketDay[]; }; retry(): void; notice?: string; incomplete?: boolean; retryNotice?: (() => void) | undefined; }; export declare function ArkmeCalendarMultiMonthView({ today, selectedDate, sourceRef, scopeKey, accountScope, timezone, index, onSelect }: { today: Date; selectedDate: Date; sourceRef?: string | undefined; scopeKey?: string | undefined; accountScope?: string | undefined; timezone: string; index?: CalendarIndex | undefined; onSelect(date: Date, day?: ArkmeCalendarBucketDay): void; }): import("react").JSX.Element; export declare function ArkmeSelfCalendarPopover({ open, anchor, sourceRef, scopeKey, accountScope, onClose, onSelectRecord, onSelectDate, onSelectIndexedDay, index, getReadingDate, }: { open: boolean; anchor: RefObject; sourceRef?: string; scopeKey?: string; accountScope?: string | undefined; onClose(): void; onSelectRecord(item: ArkmeCalendarRecordItem): void; onSelectDate?(selection: SelfCalendarDateSelection): void; /** Locally indexed non-record conversations retain their own message identity. */ onSelectIndexedDay?(bucketDate: string): void; index?: CalendarIndex; getReadingDate?: (() => string | undefined) | undefined; }): import("react").ReactPortal | null; export declare function arkmeCalendarRecordSourceLabel(item: ArkmeCalendarRecordItem): string; export declare function arkmeCalendarRecordIsDSHAgentInput(item: ArkmeCalendarRecordItem): boolean; export declare function ArkmeCalendarCell({ date, meta, selected, disabled, onClick, today, showCountLabel, unknown, incomplete, hasRecordingIndex, }: { date: Date; meta?: ArkmeCalendarBucketDay; selected: boolean; disabled: boolean; onClick(): void; today?: boolean; showCountLabel?: boolean; unknown?: boolean; incomplete?: boolean | undefined; hasRecordingIndex?: boolean; }): import("react").JSX.Element; export declare function ArkmeCalendarSurface(props?: { onClose?: () => void; anchor?: 'directory' | 'product-rail'; accountScope?: string | undefined; }): import("react").JSX.Element; export {}; //# sourceMappingURL=ArkmeCalendarSurface.d.ts.map