export type GoalTaskStatus = 'pending' | 'in_progress' | 'completed' | 'blocked' | 'cancelled';
export type GoalStatus = 'active' | 'completed' | 'abandoned';
export type GoalTask = {
    id: string;
    goalId: string;
    sessionId: string | null;
    position: number;
    content: string;
    status: GoalTaskStatus;
    note: string | null;
    createdAt: number;
    updatedAt: number;
};
export type Goal = {
    id: string;
    projectPath: string;
    sessionId: string | null;
    ottoSessionId: string | null;
    title: string;
    status: GoalStatus;
    startedAt: number | null;
    createdAt: number;
    updatedAt: number;
    tasks: GoalTask[];
};
export type SubagentStatus = 'running' | 'completed' | 'failed' | 'cancelled';
export type Subagent = {
    id: string;
    parentSessionId: string;
    childSessionId: string;
    agent: string;
    task: string;
    status: SubagentStatus;
    summary: string | null;
    reported: boolean;
    createdAt: number;
    updatedAt: number;
};
export declare const goalsMixin: {
    listGoals(): Promise<{
        goals: Goal[];
    }>;
    getSessionGoal(sessionId: string): Promise<{
        goal: Goal | null;
    }>;
    createSessionGoal(sessionId: string, data: {
        title: string;
        tasks?: string[];
    }): Promise<{
        goal: Goal;
    }>;
    updateGoal(goalId: string, data: {
        title?: string;
        status?: GoalStatus;
    }): Promise<{
        goal: Goal;
    }>;
    addGoalTasks(goalId: string, tasks: string[]): Promise<{
        goal: Goal;
    }>;
    updateGoalTask(goalId: string, taskId: string, data: {
        content?: string;
        status?: GoalTaskStatus;
        note?: string | null;
    }): Promise<{
        task: GoalTask;
    }>;
    deleteGoalTask(goalId: string, taskId: string): Promise<{
        goal: Goal;
    }>;
    startGoal(goalId: string): Promise<{
        goal: Goal;
    }>;
    listSessionSubagents(sessionId: string, status?: SubagentStatus): Promise<{
        subagents: Subagent[];
    }>;
};
//# sourceMappingURL=goals.d.ts.map