import type { Message } from 'ollama';
import type { Tool } from '../types';
export interface ContextConfig {
    systemPrompt: string;
    projectDir: string;
    memoryFiles?: string[];
    skillsDir?: string;
    /** When set with a non-empty `recallQuery`, inject top KG hits as a memory section. */
    recallProjectDir?: string;
    recallQuery?: string;
    /** When set, auto-consult all RAG indexes in this project for `ragQuery`
     * (defaults to `recallQuery`). Requires `ragOllamaHost` to embed the query. */
    ragProjectDir?: string;
    ragQuery?: string;
    ragOllamaHost?: string;
    /** When set, inject a Memory Palace summary (top rooms + anchor samples). */
    palaceProjectDir?: string;
    /** When set with a non-empty `sessionSearchQuery`, inject prior-session hits. */
    sessionSearchProjectDir?: string;
    sessionSearchQuery?: string;
}
export declare function assembleSystemContext(config: ContextConfig): Promise<string>;
export declare function assembleToolSchemas(tools: Tool[]): string;
export declare function assembleUserContext(projectDir: string): Message;
export declare function buildInitialMessages(userMessage: string, projectDir: string): Message[];
export declare function estimateTokenCount(messages: Message[]): number;
//# sourceMappingURL=assembly.d.ts.map