export declare const TASK_STATUSES: readonly ["pending", "in_progress", "completed", "failed", "cancelled"];
export type TaskStatus = (typeof TASK_STATUSES)[number];
export declare const TASK_PRIORITIES: readonly ["low", "medium", "high", "critical"];
export type TaskPriority = (typeof TASK_PRIORITIES)[number];
export declare const PLAN_STATUSES: readonly ["active", "completed", "archived"];
export type PlanStatus = (typeof PLAN_STATUSES)[number];
export interface ProjectSource {
    id: string;
    project_id: string;
    type: string;
    name: string;
    uri: string;
    description: string | null;
    metadata: Record<string, unknown>;
    created_at: string;
    updated_at: string;
}
export interface ProjectSourceRow {
    id: string;
    project_id: string;
    type: string;
    name: string;
    uri: string;
    description: string | null;
    metadata: string | null;
    created_at: string;
    updated_at: string;
}
export interface CreateProjectSourceInput {
    project_id: string;
    type: string;
    name: string;
    uri: string;
    description?: string;
    metadata?: Record<string, unknown>;
}
export interface Project {
    id: string;
    name: string;
    path: string;
    description: string | null;
    task_list_id: string | null;
    task_prefix: string | null;
    task_counter: number;
    created_at: string;
    updated_at: string;
    sources?: ProjectSource[];
}
export interface CreateProjectInput {
    name: string;
    path: string;
    description?: string;
    task_list_id?: string;
    task_prefix?: string;
}
export interface Org {
    id: string;
    name: string;
    description: string | null;
    metadata: Record<string, unknown>;
    created_at: string;
    updated_at: string;
}
export interface CreateOrgInput {
    name: string;
    description?: string;
    metadata?: Record<string, unknown>;
}
export interface Plan {
    id: string;
    project_id: string | null;
    task_list_id: string | null;
    agent_id: string | null;
    name: string;
    description: string | null;
    status: PlanStatus;
    created_at: string;
    updated_at: string;
}
export interface CreatePlanInput {
    name: string;
    project_id?: string;
    task_list_id?: string;
    agent_id?: string;
    description?: string;
    status?: PlanStatus;
}
export interface UpdatePlanInput {
    name?: string;
    description?: string;
    status?: PlanStatus;
    task_list_id?: string;
    agent_id?: string;
}
export interface Machine {
    id: string;
    name: string;
    hostname: string | null;
    platform: string | null;
    ssh_address: string | null;
    is_primary: boolean;
    last_seen_at: string;
    archived_at: string | null;
    metadata: Record<string, unknown>;
    created_at: string;
}
export interface MachineTopologyMetadata {
    tailscale_name?: string;
    tailscale_ip?: string;
    lan_address?: string;
    workspace_path?: string;
    git_root?: string;
    arch?: string;
}
export interface MachineTopologySummary {
    id: string;
    name: string;
    hostname: string | null;
    platform: string | null;
    ssh_address: string | null;
    is_primary: boolean;
    archived_at: string | null;
    last_seen_at: string;
    stale: boolean;
    stale_minutes: number;
    topology: MachineTopologyMetadata;
}
export type MachinePathIssueType = "missing_local_path" | "path_mismatch" | "path_missing";
export interface MachinePathIssue {
    type: MachinePathIssueType;
    project_id: string;
    project_name: string;
    machine_id?: string;
    machine_name?: string;
    path?: string;
    paths?: Array<{
        machine_id: string;
        machine_name: string;
        path: string;
    }>;
    message: string;
}
export interface MachineTopologyDiagnostics {
    generated_at: string;
    stale_after_minutes: number;
    local_machine: Machine | null;
    machines: MachineTopologySummary[];
    stale_machines: MachineTopologySummary[];
    path_issues: MachinePathIssue[];
}
export interface MachineRow {
    id: string;
    name: string;
    hostname: string | null;
    platform: string | null;
    ssh_address: string | null;
    is_primary: number;
    last_seen_at: string;
    archived_at: string | null;
    metadata: string | null;
    created_at: string;
}
export type AgentStatus = "active" | "archived";
export interface Agent {
    id: string;
    name: string;
    description: string | null;
    role: string | null;
    title: string | null;
    level: string | null;
    permissions: string[];
    reports_to: string | null;
    org_id: string | null;
    capabilities: string[];
    status: AgentStatus;
    metadata: Record<string, unknown>;
    created_at: string;
    last_seen_at: string;
    session_id: string | null;
    working_dir: string | null;
    active_project_id: string | null;
}
export interface AgentRow {
    id: string;
    name: string;
    description: string | null;
    role: string | null;
    title: string | null;
    level: string | null;
    permissions: string | null;
    capabilities: string | null;
    reports_to: string | null;
    org_id: string | null;
    status: string;
    metadata: string | null;
    created_at: string;
    last_seen_at: string;
    session_id: string | null;
    working_dir: string | null;
    active_project_id: string | null;
}
export interface RegisterAgentInput {
    name: string;
    description?: string;
    role?: string;
    title?: string;
    level?: string;
    pool?: string[];
    permissions?: string[];
    capabilities?: string[];
    reports_to?: string;
    org_id?: string;
    metadata?: Record<string, unknown>;
    session_id?: string;
    working_dir?: string;
    project_id?: string;
    force?: boolean;
}
export interface AgentConflictError {
    conflict: true;
    existing_id: string;
    existing_name: string;
    last_seen_at: string;
    session_hint: string | null;
    working_dir: string | null;
    message: string;
    suggestions?: string[];
}
export interface ApiKey {
    id: string;
    name: string;
    prefix: string;
    permissions: string[];
    created_at: string;
    last_used_at: string | null;
    expires_at: string | null;
    revoked_at: string | null;
}
export interface TaskList {
    id: string;
    project_id: string | null;
    slug: string;
    name: string;
    description: string | null;
    metadata: Record<string, unknown>;
    created_at: string;
    updated_at: string;
}
export interface TaskListRow {
    id: string;
    project_id: string | null;
    slug: string;
    name: string;
    description: string | null;
    metadata: string | null;
    created_at: string;
    updated_at: string;
}
export interface CreateTaskListInput {
    name: string;
    slug?: string;
    project_id?: string;
    description?: string;
    metadata?: Record<string, unknown>;
}
export interface UpdateTaskListInput {
    name?: string;
    description?: string;
    metadata?: Record<string, unknown>;
}
export interface Task {
    id: string;
    short_id: string | null;
    project_id: string | null;
    parent_id: string | null;
    plan_id: string | null;
    task_list_id: string | null;
    title: string;
    description: string | null;
    status: TaskStatus;
    priority: TaskPriority;
    agent_id: string | null;
    assigned_to: string | null;
    session_id: string | null;
    working_dir: string | null;
    tags: string[];
    metadata: Record<string, unknown>;
    version: number;
    locked_by: string | null;
    locked_at: string | null;
    created_at: string;
    updated_at: string;
    started_at: string | null;
    completed_at: string | null;
    due_at: string | null;
    estimated_minutes: number | null;
    actual_minutes: number | null;
    requires_approval: boolean;
    approved_by: string | null;
    approved_at: string | null;
    recurrence_rule: string | null;
    recurrence_parent_id: string | null;
    spawns_template_id: string | null;
    confidence: number | null;
    reason: string | null;
    spawned_from_session: string | null;
    assigned_by: string | null;
    assigned_from_project: string | null;
    task_type: string | null;
    cost_tokens: number;
    cost_usd: number;
    delegated_from: string | null;
    delegation_depth: number;
    retry_count: number;
    max_retries: number;
    retry_after: string | null;
    sla_minutes: number | null;
    runner_id: string | null;
    runner_started_at: string | null;
    runner_completed_at: string | null;
    current_step: string | null;
    total_steps: number | null;
}
export interface ChecklistItem {
    id: string;
    task_id: string;
    position: number;
    text: string;
    checked: boolean;
    created_at: string;
    updated_at: string;
}
export interface ChecklistItemRow {
    id: string;
    task_id: string;
    position: number;
    text: string;
    checked: number;
    created_at: string;
    updated_at: string;
}
export interface CreateChecklistItemInput {
    task_id: string;
    text: string;
    position?: number;
}
export interface TaskWithRelations extends Task {
    subtasks: Task[];
    dependencies: Task[];
    blocked_by: Task[];
    comments: TaskComment[];
    parent: Task | null;
    checklist: ChecklistItem[];
}
export interface CreateTaskInput {
    title: string;
    description?: string;
    project_id?: string;
    parent_id?: string;
    plan_id?: string;
    task_list_id?: string;
    cycle_id?: string;
    status?: TaskStatus;
    priority?: TaskPriority;
    agent_id?: string;
    assigned_to?: string;
    session_id?: string;
    working_dir?: string;
    tags?: string[];
    metadata?: Record<string, unknown>;
    due_at?: string;
    estimated_minutes?: number;
    sla_minutes?: number;
    confidence?: number;
    retry_count?: number;
    max_retries?: number;
    retry_after?: string | null;
    requires_approval?: boolean;
    recurrence_rule?: string;
    recurrence_parent_id?: string;
    spawns_template_id?: string;
    reason?: string;
    spawned_from_session?: string;
    assigned_by?: string;
    assigned_from_project?: string;
    task_type?: string;
}
export interface UpdateTaskInput {
    title?: string;
    description?: string;
    status?: TaskStatus;
    priority?: TaskPriority;
    project_id?: string | null;
    assigned_to?: string;
    plan_id?: string | null;
    task_list_id?: string;
    cycle_id?: string | null;
    tags?: string[];
    metadata?: Record<string, unknown>;
    due_at?: string | null;
    estimated_minutes?: number;
    sla_minutes?: number | null;
    actual_minutes?: number;
    completed_at?: string | null;
    confidence?: number | null;
    retry_count?: number;
    max_retries?: number;
    retry_after?: string | null;
    requires_approval?: boolean;
    approved_by?: string;
    recurrence_rule?: string | null;
    version: number;
    task_type?: string | null;
}
export interface TaskFilter {
    project_id?: string;
    parent_id?: string | null;
    plan_id?: string;
    task_list_id?: string;
    /** Filter to specific task IDs. When provided, only matching tasks are returned. */
    ids?: string[];
    status?: TaskStatus | TaskStatus[];
    priority?: TaskPriority | TaskPriority[];
    assigned_to?: string;
    agent_id?: string;
    session_id?: string;
    tags?: string[];
    has_recurrence?: boolean;
    include_subtasks?: boolean;
    task_type?: string | string[];
    limit?: number;
    offset?: number;
    /** Opaque cursor from a prior list_tasks response — stable pagination that survives concurrent mutations */
    cursor?: string;
    /** When true, include archived tasks. Default: false (archived tasks excluded) */
    include_archived?: boolean;
}
export interface TaskDependency {
    task_id: string;
    depends_on: string;
    external_project_id?: string | null;
    external_task_id?: string | null;
}
export interface TaskTimeLog {
    id: string;
    task_id: string;
    run_id: string | null;
    focus_session_id: string | null;
    agent_id: string | null;
    started_at: string | null;
    ended_at: string | null;
    minutes: number;
    notes: string | null;
    created_at: string;
}
export type FocusSessionStatus = "active" | "paused" | "completed" | "cancelled";
export interface FocusSession {
    id: string;
    task_id: string | null;
    plan_id: string | null;
    run_id: string | null;
    agent_id: string | null;
    title: string | null;
    status: FocusSessionStatus;
    started_at: string;
    last_resumed_at: string | null;
    paused_at: string | null;
    ended_at: string | null;
    actual_minutes: number;
    idle_after_minutes: number | null;
    notes: string | null;
    metadata: Record<string, unknown>;
    created_at: string;
    updated_at: string;
}
export interface FocusSessionRow {
    id: string;
    task_id: string | null;
    plan_id: string | null;
    run_id: string | null;
    agent_id: string | null;
    title: string | null;
    status: FocusSessionStatus;
    started_at: string;
    last_resumed_at: string | null;
    paused_at: string | null;
    ended_at: string | null;
    actual_minutes: number;
    idle_after_minutes: number | null;
    notes: string | null;
    metadata: string | null;
    created_at: string;
    updated_at: string;
}
export type BoardScope = "tasks" | "plans";
export interface BoardLane {
    id: string;
    name: string;
    statuses: string[];
    wip_limit: number | null;
    position: number;
}
export interface TaskBoard {
    id: string;
    name: string;
    scope: BoardScope;
    project_id: string | null;
    task_list_id: string | null;
    plan_id: string | null;
    agent_id: string | null;
    lanes: BoardLane[];
    filters: Record<string, unknown>;
    created_at: string;
    updated_at: string;
}
export interface TaskBoardRow {
    id: string;
    name: string;
    scope: BoardScope;
    project_id: string | null;
    task_list_id: string | null;
    plan_id: string | null;
    agent_id: string | null;
    lanes: string | null;
    filters: string | null;
    created_at: string;
    updated_at: string;
}
export interface BoardCard {
    id: string;
    short_id: string | null;
    title: string;
    status: string;
    priority: TaskPriority | null;
    project_id: string | null;
    plan_id: string | null;
    task_list_id: string | null;
    assigned_to: string | null;
    blocked: boolean;
    ready: boolean;
    badges: string[];
    updated_at: string;
}
export interface BoardLaneSnapshot {
    lane: BoardLane;
    count: number;
    wip_limit: number | null;
    wip_exceeded: boolean;
    cards: BoardCard[];
}
export interface BoardSnapshot {
    board: TaskBoard;
    generated_at: string;
    lanes: BoardLaneSnapshot[];
    totals: {
        cards: number;
        blocked: number;
        ready: number;
        wip_exceeded_lanes: number;
    };
    keyboard: {
        move_left: string;
        move_right: string;
        move_up: string;
        move_down: string;
        open: string;
        quit: string;
    };
}
export type CalendarEventKind = "task_due" | "task_sla" | "task_reminder" | "milestone" | "work_block" | "run" | "imported";
export interface LocalCalendarItem {
    id: string;
    kind: CalendarEventKind;
    title: string;
    description: string | null;
    starts_at: string;
    ends_at: string | null;
    timezone: string | null;
    project_id: string | null;
    task_id: string | null;
    plan_id: string | null;
    run_id: string | null;
    recurrence_rule: string | null;
    metadata: Record<string, unknown>;
    created_at: string;
    updated_at: string;
}
export interface LocalCalendarItemRow {
    id: string;
    kind: CalendarEventKind;
    title: string;
    description: string | null;
    starts_at: string;
    ends_at: string | null;
    timezone: string | null;
    project_id: string | null;
    task_id: string | null;
    plan_id: string | null;
    run_id: string | null;
    recurrence_rule: string | null;
    metadata: string | null;
    created_at: string;
    updated_at: string;
}
export interface CalendarEvent {
    id: string;
    kind: CalendarEventKind;
    title: string;
    description: string | null;
    starts_at: string;
    ends_at: string | null;
    timezone: string | null;
    project_id: string | null;
    task_id: string | null;
    plan_id: string | null;
    run_id: string | null;
    recurrence_rule: string | null;
    source: "task" | "run" | "local";
    badges: string[];
    metadata: Record<string, unknown>;
}
export interface TaskWatcher {
    id: string;
    task_id: string;
    agent_id: string;
    created_at: string;
}
export interface TaskWatcherRow {
    id: string;
    task_id: string;
    agent_id: string;
    created_at: string;
}
export interface TaskComment {
    id: string;
    task_id: string;
    agent_id: string | null;
    session_id: string | null;
    content: string;
    type: 'comment' | 'progress' | 'note';
    progress_pct: number | null;
    created_at: string;
}
export interface CreateCommentInput {
    task_id: string;
    content: string;
    agent_id?: string;
    session_id?: string;
    type?: 'comment' | 'progress' | 'note';
    progress_pct?: number;
}
export interface Session {
    id: string;
    agent_id: string | null;
    project_id: string | null;
    working_dir: string | null;
    started_at: string;
    last_activity: string;
    metadata: Record<string, unknown>;
}
export interface CreateSessionInput {
    agent_id?: string;
    project_id?: string;
    working_dir?: string;
    metadata?: Record<string, unknown>;
}
export interface TaskRow {
    id: string;
    short_id: string | null;
    project_id: string | null;
    parent_id: string | null;
    plan_id: string | null;
    task_list_id: string | null;
    title: string;
    description: string | null;
    status: string;
    priority: string;
    agent_id: string | null;
    assigned_to: string | null;
    session_id: string | null;
    working_dir: string | null;
    tags: string | null;
    metadata: string | null;
    version: number;
    locked_by: string | null;
    locked_at: string | null;
    created_at: string;
    updated_at: string;
    started_at: string | null;
    completed_at: string | null;
    due_at: string | null;
    estimated_minutes: number | null;
    requires_approval: number;
    approved_by: string | null;
    approved_at: string | null;
    recurrence_rule: string | null;
    recurrence_parent_id: string | null;
    spawns_template_id: string | null;
    confidence: number | null;
    reason: string | null;
    spawned_from_session: string | null;
    assigned_by: string | null;
    assigned_from_project: string | null;
    task_type: string | null;
    cost_tokens: number;
    cost_usd: number;
    delegated_from: string | null;
    delegation_depth: number;
    retry_count: number;
    max_retries: number;
    retry_after: string | null;
    sla_minutes: number | null;
    actual_minutes: number | null;
    runner_id: string | null;
    runner_started_at: string | null;
    runner_completed_at: string | null;
    current_step: string | null;
    total_steps: number | null;
}
export interface SessionRow {
    id: string;
    agent_id: string | null;
    project_id: string | null;
    working_dir: string | null;
    started_at: string;
    last_activity: string;
    metadata: string | null;
}
export interface LockResult {
    success: boolean;
    locked_by?: string;
    locked_at?: string;
    expires_at?: string;
    error?: string;
}
export interface TaskHistory {
    id: string;
    task_id: string;
    action: string;
    field: string | null;
    old_value: string | null;
    new_value: string | null;
    agent_id: string | null;
    created_at: string;
}
export interface Webhook {
    id: string;
    url: string;
    events: string[];
    secret: string | null;
    active: boolean;
    project_id: string | null;
    task_list_id: string | null;
    agent_id: string | null;
    task_id: string | null;
    created_at: string;
}
export interface CreateWebhookInput {
    url: string;
    events?: string[];
    secret?: string;
    project_id?: string;
    task_list_id?: string;
    agent_id?: string;
    task_id?: string;
}
export interface TemplateVariable {
    name: string;
    required: boolean;
    default?: string;
    description?: string;
}
export interface TaskTemplate {
    id: string;
    name: string;
    title_pattern: string;
    description: string | null;
    priority: TaskPriority;
    tags: string[];
    variables: TemplateVariable[];
    version: number;
    project_id: string | null;
    plan_id: string | null;
    metadata: Record<string, unknown>;
    created_at: string;
}
export interface CreateTemplateInput {
    name: string;
    title_pattern: string;
    description?: string;
    priority?: TaskPriority;
    tags?: string[];
    variables?: TemplateVariable[];
    project_id?: string;
    plan_id?: string;
    metadata?: Record<string, unknown>;
    tasks?: TemplateTaskInput[];
}
export interface TemplateTask {
    id: string;
    template_id: string;
    position: number;
    title_pattern: string;
    description: string | null;
    priority: TaskPriority;
    tags: string[];
    task_type: string | null;
    condition: string | null;
    include_template_id: string | null;
    depends_on_positions: number[];
    metadata: Record<string, unknown>;
    created_at: string;
}
export interface TemplateTaskInput {
    title_pattern: string;
    description?: string;
    priority?: TaskPriority;
    tags?: string[];
    task_type?: string;
    condition?: string;
    include_template_id?: string;
    depends_on?: number[];
    metadata?: Record<string, unknown>;
}
export interface TemplateWithTasks extends TaskTemplate {
    tasks: TemplateTask[];
}
export interface TemplateVersion {
    id: string;
    template_id: string;
    version: number;
    snapshot: string;
    created_at: string;
}
export declare class VersionConflictError extends Error {
    taskId: string;
    expectedVersion: number;
    actualVersion: number;
    static readonly code = "VERSION_CONFLICT";
    static readonly suggestion = "Fetch the task with get_task to get the current version before updating.";
    constructor(taskId: string, expectedVersion: number, actualVersion: number);
}
export declare class TaskNotFoundError extends Error {
    taskId: string;
    static readonly code = "TASK_NOT_FOUND";
    static readonly suggestion = "Verify the task ID. Use list_tasks or search_tasks to find the correct ID.";
    constructor(taskId: string);
}
export declare class ProjectNotFoundError extends Error {
    projectId: string;
    static readonly code = "PROJECT_NOT_FOUND";
    static readonly suggestion = "Use list_projects to see available projects.";
    constructor(projectId: string);
}
export declare class PlanNotFoundError extends Error {
    planId: string;
    static readonly code = "PLAN_NOT_FOUND";
    static readonly suggestion = "Use list_plans to see available plans.";
    constructor(planId: string);
}
export declare class LockError extends Error {
    taskId: string;
    lockedBy: string;
    static readonly code = "LOCK_ERROR";
    static readonly suggestion = "Wait for the lock to expire (30 min) or contact the lock holder.";
    constructor(taskId: string, lockedBy: string);
}
export declare class AgentNotFoundError extends Error {
    agentId: string;
    static readonly code = "AGENT_NOT_FOUND";
    static readonly suggestion = "Use register_agent to create the agent first, or list_agents to find existing ones.";
    constructor(agentId: string);
}
export declare class TaskListNotFoundError extends Error {
    taskListId: string;
    static readonly code = "TASK_LIST_NOT_FOUND";
    static readonly suggestion = "Use list_task_lists to see available lists.";
    constructor(taskListId: string);
}
export declare class DependencyCycleError extends Error {
    taskId: string;
    dependsOn: string;
    static readonly code = "DEPENDENCY_CYCLE";
    static readonly suggestion = "Check the dependency chain with get_task to avoid circular references.";
    constructor(taskId: string, dependsOn: string);
}
export declare class CompletionGuardError extends Error {
    reason: string;
    retryAfterSeconds?: number | undefined;
    static readonly code = "COMPLETION_BLOCKED";
    static readonly suggestion = "Wait for the cooldown period, then retry.";
    constructor(reason: string, retryAfterSeconds?: number | undefined);
}
export declare const DISPATCH_STATUSES: readonly ["pending", "sent", "failed", "cancelled"];
export type DispatchStatus = (typeof DISPATCH_STATUSES)[number];
/** Parsed tmux target: session:window.pane (all parts optional except window) */
export interface TmuxTarget {
    session: string | null;
    window: string;
    pane: string | null;
    /** Original spec string, e.g. "main", "work:1", "work:1.0" */
    raw: string;
}
export interface Dispatch {
    id: string;
    title: string | null;
    target_window: string;
    task_ids: string[];
    task_list_id: string | null;
    /** Pre-formatted message, or null to format at send time */
    message: string | null;
    /** Delay in ms between send and Enter. null = auto-calculated */
    delay_ms: number | null;
    scheduled_at: string | null;
    status: DispatchStatus;
    error: string | null;
    created_at: string;
    sent_at: string | null;
}
export interface DispatchRow {
    id: string;
    title: string | null;
    target_window: string;
    task_ids: string;
    task_list_id: string | null;
    message: string | null;
    delay_ms: number | null;
    scheduled_at: string | null;
    status: string;
    error: string | null;
    created_at: string;
    sent_at: string | null;
}
export interface DispatchLog {
    id: string;
    dispatch_id: string;
    target_window: string;
    message: string;
    delay_ms: number;
    status: "sent" | "failed";
    error: string | null;
    created_at: string;
}
export interface CreateDispatchInput {
    title?: string;
    target_window: string;
    task_ids?: string[];
    task_list_id?: string;
    /** Pre-format the message. If omitted, formatted at send time from task_ids/task_list_id. */
    message?: string;
    /** Explicit delay in ms. If omitted, auto-calculated from message length. */
    delay_ms?: number;
    /** ISO string. If omitted, dispatch is immediate. */
    scheduled_at?: string;
}
export interface ListDispatchesFilter {
    status?: DispatchStatus | DispatchStatus[];
    limit?: number;
    offset?: number;
}
export declare class DispatchNotFoundError extends Error {
    dispatchId: string;
    static readonly code = "DISPATCH_NOT_FOUND";
    static readonly suggestion = "Check the dispatch ID with list_dispatches.";
    constructor(dispatchId: string);
}
/** Compact task representation returned by list endpoints */
export interface TaskSummary {
    id: string;
    short_id: string | null;
    title: string;
    description: string | null;
    status: TaskStatus;
    priority: TaskPriority;
    project_id: string | null;
    plan_id: string | null;
    task_list_id: string | null;
    agent_id: string | null;
    assigned_to: string | null;
    locked_by: string | null;
    tags: string[];
    version: number;
    created_at: string;
    updated_at: string;
    completed_at: string | null;
    due_at: string | null;
    recurrence_rule: string | null;
}
/** Progress log entry for a task */
export interface ProgressEntry {
    id: string;
    task_id: string;
    content: string;
    type: "comment" | "progress" | "note";
    progress_pct: number | null;
    agent_id: string | null;
    created_at: string;
}
/** Dashboard statistics */
export interface DashboardStats {
    total_tasks: number;
    pending: number;
    in_progress: number;
    completed: number;
    failed: number;
    cancelled: number;
    projects: number;
    agents: number;
    stale_count?: number;
    overdue_recurring?: number;
    recurring_tasks?: number;
}
/** Task status summary response */
export interface StatusSummaryResponse {
    pending: number;
    in_progress: number;
    completed: number;
    total: number;
    active_work: {
        id: string;
        short_id: string | null;
        title: string;
        priority: string;
        assigned_to: string | null;
        locked_by: string | null;
        updated_at: string;
    }[];
    next_task: TaskSummary | null;
    stale_count: number;
    overdue_recurring: number;
}
//# sourceMappingURL=index.d.ts.map