/**
 * Remember Tool
 *
 * Store memories with automatic salience detection and categorization.
 */
import { z } from 'zod';
import { MemoryCategory, MemoryType } from '../memory/types.js';
export declare const rememberSchema: z.ZodObject<{
    title: z.ZodString;
    content: z.ZodString;
    category: z.ZodOptional<z.ZodEnum<["architecture", "pattern", "preference", "error", "context", "learning", "todo", "note", "relationship", "custom"]>>;
    type: z.ZodOptional<z.ZodEnum<["short_term", "long_term", "episodic"]>>;
    project: z.ZodOptional<z.ZodString>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    importance: z.ZodOptional<z.ZodEnum<["low", "normal", "high", "critical"]>>;
    scope: z.ZodOptional<z.ZodEnum<["project", "global"]>>;
    transferable: z.ZodOptional<z.ZodBoolean>;
    memoryPurpose: z.ZodOptional<z.ZodEnum<["user", "feedback", "project", "reference"]>>;
    memoryScope: z.ZodOptional<z.ZodEnum<["private", "team"]>>;
    source: z.ZodOptional<z.ZodObject<{
        type: z.ZodEnum<["user", "cli", "hook", "email", "web", "agent", "file", "api", "tool_response"]>;
        identifier: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "user" | "cli" | "hook" | "agent" | "api" | "email" | "web" | "file" | "tool_response";
        identifier: string;
    }, {
        type: "user" | "cli" | "hook" | "agent" | "api" | "email" | "web" | "file" | "tool_response";
        identifier: string;
    }>>;
    sourceType: z.ZodOptional<z.ZodEnum<["user", "cli", "hook", "email", "web", "agent", "file", "api", "tool_response"]>>;
    sourceIdentifier: z.ZodOptional<z.ZodString>;
    sessionId: z.ZodOptional<z.ZodString>;
    agentId: z.ZodOptional<z.ZodString>;
    workspaceDir: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    title: string;
    content: string;
    scope?: "project" | "global" | undefined;
    transferable?: boolean | undefined;
    source?: {
        type: "user" | "cli" | "hook" | "agent" | "api" | "email" | "web" | "file" | "tool_response";
        identifier: string;
    } | undefined;
    project?: string | undefined;
    type?: "short_term" | "long_term" | "episodic" | undefined;
    category?: "architecture" | "pattern" | "preference" | "error" | "context" | "learning" | "todo" | "note" | "relationship" | "custom" | undefined;
    tags?: string[] | undefined;
    sourceIdentifier?: string | undefined;
    sessionId?: string | undefined;
    sourceType?: "user" | "cli" | "hook" | "agent" | "api" | "email" | "web" | "file" | "tool_response" | undefined;
    memoryPurpose?: "project" | "user" | "feedback" | "reference" | undefined;
    memoryScope?: "private" | "team" | undefined;
    importance?: "critical" | "low" | "high" | "normal" | undefined;
    agentId?: string | undefined;
    workspaceDir?: string | undefined;
}, {
    title: string;
    content: string;
    scope?: "project" | "global" | undefined;
    transferable?: boolean | undefined;
    source?: {
        type: "user" | "cli" | "hook" | "agent" | "api" | "email" | "web" | "file" | "tool_response";
        identifier: string;
    } | undefined;
    project?: string | undefined;
    type?: "short_term" | "long_term" | "episodic" | undefined;
    category?: "architecture" | "pattern" | "preference" | "error" | "context" | "learning" | "todo" | "note" | "relationship" | "custom" | undefined;
    tags?: string[] | undefined;
    sourceIdentifier?: string | undefined;
    sessionId?: string | undefined;
    sourceType?: "user" | "cli" | "hook" | "agent" | "api" | "email" | "web" | "file" | "tool_response" | undefined;
    memoryPurpose?: "project" | "user" | "feedback" | "reference" | undefined;
    memoryScope?: "private" | "team" | undefined;
    importance?: "critical" | "low" | "high" | "normal" | undefined;
    agentId?: string | undefined;
    workspaceDir?: string | undefined;
}>;
export type RememberInput = z.infer<typeof rememberSchema>;
/**
 * Execute the remember tool
 */
export declare function executeRemember(input: RememberInput): Promise<{
    success: boolean;
    memory?: {
        id: number;
        title: string;
        salience: number;
        type: MemoryType;
        category: MemoryCategory;
        reason: string;
        linksCreated?: number;
        truncated?: {
            wasTruncated: boolean;
            originalLength: number;
            truncatedLength: number;
        };
    };
    error?: string;
}>;
/**
 * Format the remember result for MCP response
 */
export declare function formatRememberResult(result: Awaited<ReturnType<typeof executeRemember>>): string;
