import type { ArkmeCalendarAnchor, ArkmeCalendarMomentAnchor } from '../types.js'; export interface SelfCalendarDateSelection { bucketDate: string; timezone: string; anchor?: ArkmeCalendarAnchor; momentAnchor?: ArkmeCalendarMomentAnchor; } export interface SelfCalendarNavigationStatus extends SelfCalendarDateSelection { phase: 'loading' | 'error'; error?: string; } /** Owns both the calendar request and its subsequent timeline locate, not the popover lifetime. */ export declare function useSelfCalendarNavigation(options: { scopeKey: string; sourceRef: string | undefined; targetRevision: number | undefined; locate(item: ArkmeCalendarAnchor): number; locateMoment?(item: ArkmeCalendarMomentAnchor): number; cancelTarget(revision: number): void; }): { status: SelfCalendarNavigationStatus | undefined; select: (selection: SelfCalendarDateSelection) => void; cancel: () => void; finish: (revision: number, error?: string) => boolean; owns: (revision: number) => boolean; retry: () => void; }; //# sourceMappingURL=use-self-calendar-navigation.d.ts.map