import type { Database } from "bun:sqlite";
import { type LocalEventHookDispatchResult, type LocalEventType } from "./event-hooks.js";
import { type TerminalNotificationEvaluation } from "./terminal-notifications.js";
export declare const LOCAL_NOTIFICATION_SCHEMA_VERSION = 1;
export type LocalNotificationKind = "task_due" | "task_due_soon" | "task_sla" | "task_stale" | "run_completed" | "run_failed" | "calendar_reminder";
export type LocalNotificationSeverity = "info" | "warning" | "critical";
export interface LocalNotificationQuietHours {
    start: string;
    end: string;
    timezone?: "utc" | "local";
}
export interface CheckLocalNotificationsInput {
    project_id?: string;
    agent_id?: string;
    now?: string;
    due_within_minutes?: number;
    stale_minutes?: number;
    run_since?: string;
    include_runs?: boolean;
    include_calendar?: boolean;
    emit_hooks?: boolean;
    evaluate_terminal?: boolean;
    quiet_hours?: LocalNotificationQuietHours;
    limit?: number;
}
export interface LocalNotificationAlert {
    id: string;
    kind: LocalNotificationKind;
    event_type: LocalEventType;
    severity: LocalNotificationSeverity;
    title: string;
    message: string;
    task_id: string | null;
    run_id: string | null;
    project_id: string | null;
    agent_id: string | null;
    due_at: string | null;
    triggered_at: string;
    quieted: boolean;
    payload: Record<string, unknown>;
}
export interface CheckLocalNotificationsResult {
    schema_version: 1;
    local_only: true;
    checked_at: string;
    quiet_hours: LocalNotificationQuietHours | null;
    quiet_active: boolean;
    alerts: LocalNotificationAlert[];
    hook_results: LocalEventHookDispatchResult[];
    terminal_evaluations: TerminalNotificationEvaluation[];
    counts: Record<LocalNotificationKind, number>;
    warnings: string[];
}
export declare function checkLocalNotifications(input?: CheckLocalNotificationsInput, db?: Database): Promise<CheckLocalNotificationsResult>;
//# sourceMappingURL=local-notifications.d.ts.map