/**
 * Group items by their local date (YYYY-MM-DD in the item's own timezone).
 *
 * Generic over `T`. Items with un-parseable startsAt or invalid timezone are
 * silently dropped — call sites that need diagnostics should validate upstream.
 *
 * The output map preserves insertion order of dates (ES2015 spec) and the
 * relative order of items within each date matches input order.
 */
export type GroupItemsByDateAccessors<T> = Readonly<{
    getStartsAt: (item: T) => string;
    getTimeZone: (item: T) => string;
}>;
export declare function groupItemsByDate<T>(items: readonly T[], accessors: GroupItemsByDateAccessors<T>): ReadonlyMap<string, readonly T[]>;
