export interface ResearchSession {
    id: string;
    title: string | null;
    createdAt: number;
    lastActiveAt: number | null;
    provider: string;
    model: string;
    messageCount: number;
}
export interface ResearchSessionsResponse {
    sessions: ResearchSession[];
}
export interface CreateResearchResponse {
    session: ResearchSession;
    parentSessionId: string;
}
export interface InjectContextResponse {
    content: string;
    label: string;
    sessionId: string;
    parentSessionId: string;
    tokenEstimate: number;
}
export interface ExportToSessionResponse {
    newSession: {
        id: string;
        title: string | null;
        agent: string;
        provider: string;
        model: string;
    };
    injectedContext: string;
}
export declare function useResearchSessions(parentSessionId: string | null, enabled?: boolean): import("@tanstack/react-query").UseQueryResult<NoInfer<ResearchSessionsResponse>, Error>;
export declare function useCreateResearchSession(): import("@tanstack/react-query").UseMutationResult<CreateResearchResponse, Error, {
    parentSessionId: string;
    data?: {
        provider?: string;
        model?: string;
        title?: string;
    };
}, unknown>;
export declare function useDeleteResearchSession(): import("@tanstack/react-query").UseMutationResult<{
    success: boolean;
}, Error, string, unknown>;
export declare function useInjectContext(): import("@tanstack/react-query").UseMutationResult<InjectContextResponse, Error, {
    parentSessionId: string;
    researchSessionId: string;
    label?: string;
}, unknown>;
export declare function useExportToSession(): import("@tanstack/react-query").UseMutationResult<ExportToSessionResponse, Error, {
    researchId: string;
    data?: {
        provider?: string;
        model?: string;
        agent?: string;
    };
}, unknown>;
//# sourceMappingURL=useResearch.d.ts.map