export type DashboardRangeKey = 'today' | '7d' | '30d' | '12m' | 'custom';
export declare function startOfUtcWeek(now: Date): Date;
export declare function growthBuckets(createdAt: Date[], now: Date, weeks?: number): {
    start: string;
    count: number;
}[];
export declare function retentionRate(cohort: number, returned: number): number | null;
export declare function resolveDashboardRange(key: DashboardRangeKey, now?: Date, customFrom?: string, customTo?: string): {
    key: DashboardRangeKey;
    label: string;
    from: Date;
    to: Date;
    previousFrom: Date;
    previousTo: Date;
    granularity: "week" | "day" | "hour" | "month";
};
export declare function percentDelta(current: number, previous: number): number;
export declare function timeBuckets(dates: Date[], from: Date, to: Date, granularity: 'hour' | 'day' | 'week' | 'month'): {
    start: string;
    count: number;
}[];
export declare function metricBuckets(events: Array<{
    date: Date;
    value: number;
}>, from: Date, to: Date, granularity: 'hour' | 'day' | 'week' | 'month'): {
    start: string;
    value: number;
}[];
export declare function categorizeAuditAction(action: string): 'security' | 'jobs' | 'moderation' | 'system';
