import type { ContextSystemPrompt } from "../../Prompt.js";
import type { BaseRetriever } from "../../Retriever.js";
import type { MessageContent, MessageType } from "../../llm/types.js";
import type { BaseNodePostprocessor } from "../../postprocessors/index.js";
import { PromptMixin } from "../../prompts/index.js";
import type { Context, ContextGenerator } from "./types.js";
export declare class DefaultContextGenerator extends PromptMixin implements ContextGenerator {
    retriever: BaseRetriever;
    contextSystemPrompt: ContextSystemPrompt;
    nodePostprocessors: BaseNodePostprocessor[];
    contextRole: MessageType;
    constructor(init: {
        retriever: BaseRetriever;
        contextSystemPrompt?: ContextSystemPrompt;
        nodePostprocessors?: BaseNodePostprocessor[];
        contextRole?: MessageType;
    });
    protected _getPrompts(): {
        contextSystemPrompt: ContextSystemPrompt;
    };
    protected _updatePrompts(promptsDict: {
        contextSystemPrompt: ContextSystemPrompt;
    }): void;
    private applyNodePostprocessors;
    generate(message: MessageContent): Promise<Context>;
}
