import { ISO8601DateString, ISO8601TimeString } from './types/ISO8601';
export type CalendarEvent = {
    id?: number;
    description: string;
    date: ISO8601DateString;
    startTime: ISO8601TimeString;
    endTime: ISO8601TimeString;
};
type CalendarEventListener = (event: CalendarEvent) => void;
export declare class CalendarEventStore {
    events: Array<CalendarEvent>;
    private addListeners;
    private updateListeners;
    private deleteListeners;
    constructor(events: Array<CalendarEvent>);
    add(event: CalendarEvent): void;
    addOrUpdate(event: CalendarEvent): void;
    delete(eventId: number): void;
    eventsForDate(date: Date): CalendarEvent[];
    onAdd(listener: CalendarEventListener): void;
    onUpdate(listener: CalendarEventListener): void;
    onDelete(listener: CalendarEventListener): void;
    private notify;
}
export default CalendarEventStore;
