import type { Goal, GoalStatus, GoalTaskStatus, SubagentStatus } from '../lib/api-client'; export declare const goalQueryKey: (sessionId: string | undefined) => readonly ["project", string, "goal", string]; export declare const projectGoalsQueryKey: () => readonly ["project", string, "goals", "project"]; export declare const subagentsQueryKey: (sessionId: string | undefined) => readonly ["project", string, "subagents", string]; /** * Lists every goal for the current project (active, completed, abandoned), * each with its full task queue. Powers the Looper tab overview and goal view. */ export declare function useProjectGoals(): import("@tanstack/react-query").UseQueryResult<{ goals: Goal[]; }, Error>; /** * Appends tasks to a goal from the Looper tab. Updates the project goals * cache with the returned goal so the queue refreshes immediately. */ export declare function useAddProjectGoalTasks(): import("@tanstack/react-query").UseMutationResult<{ goal: Goal; }, Error, { goalId: string; tasks: string[]; }, unknown>; /** * Deletes a goal task from the Looper tab. The server rejects in_progress * tasks with a 409 — surface the error to the caller via onError. */ export declare function useDeleteProjectGoalTask(): import("@tanstack/react-query").UseMutationResult<{ goal: Goal; }, Error, { goalId: string; taskId: string; }, unknown>; export declare function useSessionGoal(sessionId: string | undefined): import("@tanstack/react-query").UseQueryResult<{ goal: Goal | null; }, Error>; export declare function useCreateSessionGoal(sessionId: string | undefined): import("@tanstack/react-query").UseMutationResult<{ goal: Goal; }, Error, { title: string; tasks?: string[]; }, unknown>; export declare function useUpdateGoal(sessionId: string | undefined): import("@tanstack/react-query").UseMutationResult<{ goal: Goal; }, Error, { goalId: string; title?: string; status?: GoalStatus; }, unknown>; export declare function useAddGoalTasks(sessionId: string | undefined): import("@tanstack/react-query").UseMutationResult<{ goal: Goal; }, Error, { goalId: string; tasks: string[]; }, unknown>; export declare function useUpdateGoalTask(sessionId: string | undefined): import("@tanstack/react-query").UseMutationResult<{ task: import("..").GoalTask; }, Error, { goalId: string; taskId: string; content?: string; status?: GoalTaskStatus; note?: string | null; }, unknown>; export declare function useSessionSubagents(sessionId: string | undefined, status?: SubagentStatus): import("@tanstack/react-query").UseQueryResult<{ subagents: import("..").Subagent[]; }, Error>; /** * Starts the session's goal via the server start endpoint, which injects an * automated tagged kickoff into the main session and marks the goal started. */ export declare function useStartGoal(sessionId: string | undefined): import("@tanstack/react-query").UseMutationResult<{ goal: Goal; }, Error, { goalId: string; }, unknown>; //# sourceMappingURL=useGoals.d.ts.map