import { Tokenizer } from "tokenizers";
import { PromptCompiler } from "./prompt.js";
export interface PromptEngineConfig {
    modelName: string;
    retokenize?: Tokenizer | boolean;
    maxInputLength?: number;
}
export declare class PromptEngine {
    private readonly promptCompiler;
    private readonly config;
    private tokenizer?;
    constructor(promptCompiler: PromptCompiler, config: PromptEngineConfig);
    buildPrompt: (input: string) => Promise<import("./lib-core.js").Optional<string>>;
    private runTokenization;
    private static setupTokenizer;
}
