import type { CapsuleAnswerGroundingPolicy, ChatMessage, GatewayRequest, NormalizedResponse } from "@oscharko-dev/keiko-contracts";
import type { LocalKnowledgeGroundedContextPack } from "../retrieval/context-pack-assembler.js";
import type { AnswerGenerator, AnswerGeneratorInput } from "./types.js";
export interface ChatGateway {
    readonly chat: (request: GatewayRequest) => Promise<NormalizedResponse>;
}
export interface ModelGatewayAnswerGeneratorOptions {
    readonly chatGateway: ChatGateway;
    readonly modelId: string;
    readonly policy: CapsuleAnswerGroundingPolicy;
}
export declare class AnswerGroundingRejectedError extends Error {
    readonly name: string;
    constructor();
}
export declare class ModelGatewayAnswerGenerator implements AnswerGenerator {
    private readonly chatGateway;
    private readonly modelId;
    private readonly policy;
    constructor(options: ModelGatewayAnswerGeneratorOptions);
    generate(input: AnswerGeneratorInput): Promise<string>;
}
export declare function buildPromptMessages(question: string, pack: LocalKnowledgeGroundedContextPack): readonly ChatMessage[];
//# sourceMappingURL=model-gateway-answer-generator.d.ts.map