/**
 * Mock factories for generating test data and mocking dependencies
 */
import { jest } from '@jest/globals';
import { MockProxy } from 'jest-mock-extended';
import { ThoughtData, ToolRecommendation, CurrentStep } from '../../src/schemas/ThoughtSchema.js';
import { BaseToolServer } from '../../src/base/BaseToolServer.js';
export declare const createMockThoughtData: (overrides?: Partial<ThoughtData>) => ThoughtData;
export declare const createMockToolRecommendation: (overrides?: Partial<ToolRecommendation>) => ToolRecommendation;
export declare const createMockCurrentStep: (overrides?: Partial<CurrentStep>) => CurrentStep;
export declare const createMockMcpRequest: (toolName?: string, args?: any) => {
    jsonrpc: "2.0";
    id: string;
    method: "tools/call";
    params: {
        name: string;
        arguments: any;
    };
};
export declare const createMockMcpResponse: (content?: string, isError?: boolean) => {
    content: {
        type: "text";
        text: string;
    }[];
    isError: boolean;
};
export declare const createMockSessionData: (overrides?: any) => any;
export declare const createMockBaseToolServer: <TIn, TOut>() => MockProxy<BaseToolServer<TIn, TOut>>;
export declare const createMockConsole: () => {
    log: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
    error: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
    warn: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
    info: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
    debug: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
};
export declare const createMockFs: () => {
    readFile: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
    writeFile: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
    exists: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
    mkdir: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
};
export declare const createMockHttp: () => {
    get: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
    post: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
    put: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
    delete: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
    request: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
};
export declare const createMockTimers: () => {
    advanceTimersByTime: (msToRun: number) => void;
    runOnlyPendingTimers: () => void;
    runAllTimers: () => void;
    clearAllTimers: () => void;
    restoreTimers: () => import("@jest/environment").Jest;
};
export declare const createMockValidationError: (message?: string) => Error;
export declare const createMockNetworkError: (message?: string) => Error;
export declare const createMockTimeoutError: (message?: string) => Error;
export declare const createMockFunction: <T extends (...args: any[]) => any>(implementation?: T) => jest.MockedFunction<T>;
export declare const createMethodSpy: <T extends object, K extends keyof T>(object: T, method: K) => any;
export declare const createMockInstance: <T>(constructor: new (...args: any[]) => T) => MockProxy<T>;
export declare const resetAllMocks: () => void;
export declare const waitForAsync: (ms?: number) => Promise<void>;
export declare const createRandomString: (length?: number) => string;
export declare const createRandomNumber: (min?: number, max?: number) => number;
export declare const createRandomBoolean: () => boolean;
export declare const generateLargeThoughtHistory: (count?: number) => ThoughtData[];
export declare const generateLargeToolRecommendations: (count?: number) => ToolRecommendation[];
