import type { UsageEvent, PricingTier } from '../../types/index.js';
/**
 * Creates a new UsageEvent object. Does NOT persist — that is storage's job.
 */
export declare function recordUsageEvent(toolName: string, tier: PricingTier, success: boolean): UsageEvent;
/**
 * Returns events within the specified time period relative to now.
 * 'all' returns the full array unchanged.
 */
export declare function filterEventsByPeriod(events: readonly UsageEvent[], period: '7d' | '30d' | 'all'): readonly UsageEvent[];
/**
 * Counts events whose timestamp matches the given YYYY-MM-DD date string.
 * Comparison is based on UTC date extraction from ISO 8601 timestamps.
 */
export declare function countEventsForDate(events: readonly UsageEvent[], date: string): number;
/**
 * Returns the most recent event's timestamp, or null if the array is empty.
 */
export declare function getLastEventTimestamp(events: readonly UsageEvent[]): string | null;
//# sourceMappingURL=core.d.ts.map