import { GbnfJsonSchema, GbnfJsonSchemaToType } from "../utils/gbnfJson/types.js";
import { Llama } from "../bindings/Llama.js";
import { LlamaGrammar } from "./LlamaGrammar.js";
export declare class LlamaJsonSchemaGrammar<const T extends GbnfJsonSchema> extends LlamaGrammar {
    private readonly _schema;
    /**
     * Prefer to create a new instance of this class by using `llama.createGrammarForJsonSchema(...)`.
     */
    constructor(llama: Llama, schema: Readonly<T>);
    get schema(): Readonly<T>;
    parse(json: string): GbnfJsonSchemaToType<T>;
}
