import type { MastraDBMessage } from '../agent/message-list/index.js';
import type { MemoryStorage, StorageListMessagesInput, StorageListThreadsInput, StorageListThreadsOutput, StorageCloneThreadInput, StorageCloneThreadOutput } from '../storage/index.js';
import { InMemoryStore } from '../storage/index.js';
import type { ToolAction } from '../tools/index.js';
import { MastraMemory } from './memory.js';
import type { StorageThreadType, MemoryConfigInternal, MessageDeleteInput, WorkingMemoryTemplate, SharedMemoryConfig } from './types.js';
export declare class MockMemory extends MastraMemory {
    constructor({ storage, enableWorkingMemory, workingMemoryTemplate, enableMessageHistory, options, }?: {
        storage?: InMemoryStore;
        enableWorkingMemory?: boolean;
        enableMessageHistory?: boolean;
        workingMemoryTemplate?: string;
        options?: SharedMemoryConfig['options'];
    });
    protected getMemoryStore(): Promise<MemoryStorage>;
    getThreadById({ threadId }: {
        threadId: string;
    }): Promise<StorageThreadType | null>;
    saveThread({ thread, }: {
        thread: StorageThreadType;
        memoryConfig?: MemoryConfigInternal;
    }): Promise<StorageThreadType>;
    saveMessages({ messages, }: {
        messages: MastraDBMessage[];
        memoryConfig?: MemoryConfigInternal;
    }): Promise<{
        messages: MastraDBMessage[];
    }>;
    listThreads(args: StorageListThreadsInput): Promise<StorageListThreadsOutput>;
    recall(args: StorageListMessagesInput & {
        threadConfig?: MemoryConfigInternal;
        vectorSearchString?: string;
        includeSystemReminders?: boolean;
    }): Promise<{
        messages: MastraDBMessage[];
        usage?: {
            tokens: number;
        };
        total: number;
        page: number;
        perPage: number | false;
        hasMore: boolean;
    }>;
    deleteThread(threadId: string): Promise<void>;
    deleteMessages(messageIds: MessageDeleteInput): Promise<void>;
    getWorkingMemory({ threadId, resourceId, memoryConfig, }: {
        threadId: string;
        resourceId?: string;
        memoryConfig?: MemoryConfigInternal;
    }): Promise<string | null>;
    listTools(_config?: MemoryConfigInternal): Record<string, ToolAction<any, any, any>>;
    getWorkingMemoryTemplate({ memoryConfig, }?: {
        memoryConfig?: MemoryConfigInternal;
    }): Promise<WorkingMemoryTemplate | null>;
    updateWorkingMemory({ threadId, resourceId, workingMemory, memoryConfig, }: {
        threadId: string;
        resourceId?: string;
        workingMemory: string;
        memoryConfig?: MemoryConfigInternal;
    }): Promise<void>;
    __experimental_updateWorkingMemoryVNext({ threadId, resourceId, workingMemory, searchString: _searchString, memoryConfig, }: {
        threadId: string;
        resourceId?: string;
        workingMemory: string;
        searchString?: string;
        memoryConfig?: MemoryConfigInternal;
    }): Promise<{
        success: boolean;
        reason: string;
    }>;
    cloneThread(args: StorageCloneThreadInput): Promise<StorageCloneThreadOutput>;
}
//# sourceMappingURL=mock.d.ts.map