import type { GuardrailRule, GuardrailContext, GuardrailViolation, JsonStructure } from "../types/guardrails";
export interface IncrementalJsonState {
    openBraces: number;
    closeBraces: number;
    openBrackets: number;
    closeBrackets: number;
    inString: boolean;
    escapeNext: boolean;
    processedLength: number;
}
export declare function createIncrementalJsonState(): IncrementalJsonState;
export declare function updateJsonStateIncremental(state: IncrementalJsonState, delta: string): IncrementalJsonState;
export declare function incrementalStateToStructure(state: IncrementalJsonState): JsonStructure;
export declare function analyzeJsonStructure(content: string): JsonStructure;
export declare function looksLikeJson(content: string): boolean;
export declare function validateJsonStructure(context: GuardrailContext): GuardrailViolation[];
export declare function validateJsonChunks(context: GuardrailContext): GuardrailViolation[];
export declare function validateJsonParseable(context: GuardrailContext): GuardrailViolation[];
export declare function jsonRule(): GuardrailRule;
export declare function strictJsonRule(): GuardrailRule;
export declare class JsonGuardrail {
    private rule;
    constructor(strict?: boolean);
    check(context: GuardrailContext): GuardrailViolation[];
    get name(): string;
}
//# sourceMappingURL=json.d.ts.map