import type { Database } from "bun:sqlite";
export type LocalActivityTimelineEntityType = "all" | "task" | "project" | "plan" | "run";
export type LocalActivityTimelineOrder = "asc" | "desc";
export type LocalActivityTimelineSource = "comment" | "task_history" | "run_event" | "run_command" | "run_artifact";
export interface LocalActivityTimelineOptions {
    entity_type?: LocalActivityTimelineEntityType;
    entity_id?: string;
    task_id?: string;
    project_id?: string;
    plan_id?: string;
    run_id?: string;
    since?: string;
    until?: string;
    limit?: number;
    offset?: number;
    order?: LocalActivityTimelineOrder;
}
export interface LocalActivityTimelineEntry {
    id: string;
    source: LocalActivityTimelineSource;
    event_type: string;
    entity_type: "task" | "run";
    entity_id: string;
    task_id: string;
    project_id: string | null;
    plan_id: string | null;
    run_id: string | null;
    agent_id: string | null;
    created_at: string;
    title: string;
    message: string | null;
    metadata: Record<string, unknown>;
}
export interface LocalActivityTimelinePage {
    entries: LocalActivityTimelineEntry[];
    total: number;
    limit: number;
    offset: number;
    order: LocalActivityTimelineOrder;
    filters: Required<Pick<LocalActivityTimelineOptions, "entity_type">> & Omit<LocalActivityTimelineOptions, "limit" | "offset" | "order">;
}
export declare function getLocalActivityTimeline(options?: LocalActivityTimelineOptions, db?: Database): LocalActivityTimelinePage;
//# sourceMappingURL=activity-timeline.d.ts.map