import type { MastraDBMessage } from '@mastra/core/agent';
import type { MemoryConfigInternal } from '@mastra/core/memory';
export type RecallDetail = 'low' | 'high';
type RecallMemory = {
    getMemoryStore: () => Promise<{
        listMessagesById: (args: {
            messageIds: string[];
        }) => Promise<{
            messages: MastraDBMessage[];
        }>;
    }>;
    recall: (args: {
        threadId: string;
        resourceId?: string;
        page: number;
        perPage: number | false;
        orderBy?: {
            field: 'createdAt';
            direction: 'ASC' | 'DESC';
        };
        filter?: {
            dateRange?: {
                start?: Date;
                end?: Date;
                startExclusive?: boolean;
                endExclusive?: boolean;
            };
        };
    }) => Promise<{
        messages: MastraDBMessage[];
    }>;
};
export declare function recallPart({ memory, threadId, cursor, partIndex, maxTokens, }: {
    memory: RecallMemory;
    threadId: string;
    cursor: string;
    partIndex: number;
    maxTokens?: number;
}): Promise<{
    text: string;
    messageId: string;
    partIndex: number;
    role: string;
    type: string;
    truncated: boolean;
}>;
export interface RecallResult {
    messages: string;
    count: number;
    cursor: string;
    page: number;
    limit: number;
    detail: RecallDetail;
    hasNextPage: boolean;
    hasPrevPage: boolean;
    truncated: boolean;
    tokenOffset: number;
}
export declare function recallMessages({ memory, threadId, resourceId, cursor, page, limit, detail, maxTokens, }: {
    memory: RecallMemory;
    threadId: string;
    resourceId?: string;
    cursor: string;
    page?: number;
    limit?: number;
    detail?: RecallDetail;
    maxTokens?: number;
}): Promise<RecallResult>;
export declare const recallTool: (_memoryConfig?: MemoryConfigInternal) => import("@mastra/core/tools").Tool<{
    cursor: string;
    page?: number | undefined;
    limit?: number | undefined;
    detail?: "low" | "high" | undefined;
    partIndex?: number | undefined;
}, unknown, unknown, unknown, import("@mastra/core/tools").ToolExecutionContext<unknown, unknown, unknown>, "recall", unknown>;
export {};
//# sourceMappingURL=om-tools.d.ts.map