/**
 * @file CalendarEvent.ts
 * @input ISO event definitions and PlainDate/Instant primitives
 * @output Calendar event types and event construction helpers
 * @position Public schedule event model; consumed by Schedule and views
 */
import { type PlainDate } from '@astryxdesign/core/utils';
import type { TokenColor } from '@astryxdesign/core/Token';
import type { Instant } from './types';
export type ScheduleEventColor = Exclude<TokenColor, 'default'>;
export interface ScheduleCategory {
    label: string;
    color: ScheduleEventColor;
}
export interface CalendarEventBase {
    id: string;
    title: string;
    category?: string;
}
export interface CalendarDayEvent extends CalendarEventBase {
    start: PlainDate;
    end: PlainDate;
}
export interface CalendarInstantEvent extends CalendarEventBase {
    start: Instant;
    end: Instant;
}
export type CalendarEvent = CalendarDayEvent | CalendarInstantEvent;
export declare function createEventFromISO({ id, title, category, start, end, }: {
    id: string;
    title: string;
    category?: CalendarEvent['category'];
    start: string;
    end: string;
}): CalendarEvent;
//# sourceMappingURL=CalendarEvent.d.ts.map