import { Field, Provable, VerificationKey, UInt8, Undefined, Proof, DynamicProof } from 'o1js';
import { BlobInclusionInput } from './verify_blob_inclusion.js';
declare const Bytes29_base: typeof import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
declare class Bytes29 extends Bytes29_base {
}
declare const Bytes64_base: typeof import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
declare class Bytes64 extends Bytes64_base {
}
declare const BatcherInput_base: (new (value: {
    currentStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    index: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    namespace: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
    batcherVkHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    blobInclusionVkHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
}) => {
    currentStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    index: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    namespace: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
    batcherVkHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    blobInclusionVkHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
}) & {
    _isStruct: true;
} & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
    currentStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    index: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    namespace: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
    batcherVkHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    blobInclusionVkHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
}, {
    currentStateHash: bigint;
    index: bigint;
    namespace: {
        bytes: {
            value: bigint;
        }[];
    };
    currentRollingHash: bigint[];
    batcherVkHash: bigint;
    blobInclusionVkHash: bigint;
}>, "fromFields"> & {
    fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => {
        currentStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        index: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        namespace: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
        batcherVkHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        blobInclusionVkHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    };
} & {
    fromValue: (value: {
        currentStateHash: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        index: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        namespace: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes | {
            bytes: {
                value: bigint;
            }[];
        };
        currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[] | bigint[];
        batcherVkHash: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        blobInclusionVkHash: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    }) => {
        currentStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        index: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        namespace: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
        batcherVkHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        blobInclusionVkHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    };
    toInput: (x: {
        currentStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        index: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        namespace: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
        batcherVkHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        blobInclusionVkHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    }) => {
        fields?: Field[] | undefined;
        packed?: [Field, number][] | undefined;
    };
    toJSON: (x: {
        currentStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        index: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        namespace: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
        batcherVkHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        blobInclusionVkHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    }) => {
        currentStateHash: string;
        index: string;
        namespace: {
            bytes: {
                value: string;
            }[];
        };
        currentRollingHash: string[];
        batcherVkHash: string;
        blobInclusionVkHash: string;
    };
    fromJSON: (x: {
        currentStateHash: string;
        index: string;
        namespace: {
            bytes: {
                value: string;
            }[];
        };
        currentRollingHash: string[];
        batcherVkHash: string;
        blobInclusionVkHash: string;
    }) => {
        currentStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        index: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        namespace: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
        batcherVkHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        blobInclusionVkHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    };
    empty: () => {
        currentStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        index: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        namespace: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
        currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
        batcherVkHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        blobInclusionVkHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    };
};
declare class BatcherInput extends BatcherInput_base {
}
declare const BatcherOutput_base: (new (value: {
    initialStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    currentStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
    dataCommitment: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
}) => {
    initialStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    currentStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
    dataCommitment: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
}) & {
    _isStruct: true;
} & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
    initialStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    currentStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
    dataCommitment: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
}, {
    initialStateHash: bigint;
    currentStateHash: bigint;
    currentRollingHash: bigint[];
    dataCommitment: {
        bytes: {
            value: bigint;
        }[];
    };
}>, "fromFields"> & {
    fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => {
        initialStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        currentStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
        dataCommitment: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    };
} & {
    fromValue: (value: {
        initialStateHash: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        currentStateHash: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[] | bigint[];
        dataCommitment: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes | {
            bytes: {
                value: bigint;
            }[];
        };
    }) => {
        initialStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        currentStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
        dataCommitment: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    };
    toInput: (x: {
        initialStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        currentStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
        dataCommitment: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    }) => {
        fields?: Field[] | undefined;
        packed?: [Field, number][] | undefined;
    };
    toJSON: (x: {
        initialStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        currentStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
        dataCommitment: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    }) => {
        initialStateHash: string;
        currentStateHash: string;
        currentRollingHash: string[];
        dataCommitment: {
            bytes: {
                value: string;
            }[];
        };
    };
    fromJSON: (x: {
        initialStateHash: string;
        currentStateHash: string;
        currentRollingHash: string[];
        dataCommitment: {
            bytes: {
                value: string;
            }[];
        };
    }) => {
        initialStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        currentStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
        dataCommitment: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    };
    empty: () => {
        initialStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        currentStateHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
        dataCommitment: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
    };
};
declare class BatcherOutput extends BatcherOutput_base {
}
declare function bytesToField(bs: UInt8[]): Field;
declare class BatcherDynamicProof extends DynamicProof<BatcherInput, BatcherOutput> {
    static publicInputType: typeof BatcherInput;
    static publicOutputType: typeof BatcherOutput;
    static maxProofsVerified: 2;
    static featureFlags: {
        rangeCheck0: undefined;
        rangeCheck1: undefined;
        foreignFieldAdd: undefined;
        foreignFieldMul: undefined;
        xor: undefined;
        rot: undefined;
        lookup: undefined;
        runtimeTables: undefined;
    };
}
declare class BlobInclusionDynamicProof extends DynamicProof<BlobInclusionInput, Undefined> {
    static publicInputType: typeof BlobInclusionInput;
    static publicOutputType: import("node_modules/o1js/dist/node/lib/provable/types/struct.js").ProvablePureExtended<undefined, undefined, null>;
    static maxProofsVerified: 1;
    static featureFlags: {
        rangeCheck0: undefined;
        rangeCheck1: undefined;
        foreignFieldAdd: undefined;
        foreignFieldMul: undefined;
        xor: undefined;
        rot: undefined;
        lookup: undefined;
        runtimeTables: undefined;
    };
}
declare const batcherVerifier: {
    name: string;
    maxProofsVerified(): Promise<0 | 1 | 2>;
    compile: (options?: {
        cache?: import("o1js").Cache;
        forceRecompile?: boolean;
        proofsEnabled?: boolean;
    }) => Promise<{
        verificationKey: {
            data: string;
            hash: Field;
        };
    }>;
    verify: (proof: Proof<BatcherInput, BatcherOutput>) => Promise<boolean>;
    digest: () => Promise<string>;
    analyzeMethods: () => Promise<{
        compute: {
            proofs: import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofClass[];
            rows: number;
            digest: string;
            gates: import("node_modules/o1js/dist/node/snarky.js").Gate[];
            publicInputSize: number;
            print(): void;
            summary(): Partial<Record<import("node_modules/o1js/dist/node/snarky.js").GateType | "Total rows", number>>;
        };
    }>;
    publicInputType: typeof BatcherInput;
    publicOutputType: typeof BatcherOutput;
    privateInputTypes: {
        compute: [typeof BatcherDynamicProof, typeof VerificationKey, typeof BlobInclusionDynamicProof, typeof VerificationKey, typeof import("node_modules/o1js/dist/node/lib/provable/field.js").Field & ((x: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/core/fieldvar.js").FieldConst | import("node_modules/o1js/dist/node/lib/provable/core/fieldvar.js").FieldVar | import("node_modules/o1js/dist/node/lib/provable/field.js").Field) => import("node_modules/o1js/dist/node/lib/provable/field.js").Field), import("node_modules/o1js/dist/node/lib/provable/types/struct.js").ProvablePureExtended<import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes, {
            bytes: {
                value: bigint;
            }[];
        }, {
            bytes: {
                value: string;
            }[];
        }>];
    };
    auxiliaryOutputTypes: {
        compute: undefined;
    };
    rawMethods: {
        compute: (publicInput: BatcherInput, args_0: BatcherDynamicProof, args_1: VerificationKey, args_2: BlobInclusionDynamicProof, args_3: VerificationKey, args_4: import("node_modules/o1js/dist/node/lib/provable/field.js").Field, args_5: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes) => Promise<{
            publicOutput: BatcherOutput;
        }>;
    };
    Proof: {
        new ({ proof, publicInput, publicOutput, maxProofsVerified, }: {
            proof: import("node_modules/o1js/dist/node/snarky.js").Pickles.Proof;
            publicInput: BatcherInput;
            publicOutput: BatcherOutput;
            maxProofsVerified: 0 | 1 | 2;
        }): Proof<BatcherInput, BatcherOutput>;
        fromJSON<S extends import("node_modules/o1js/dist/node/lib/util/types.js").Subclass<typeof Proof>>(this: S, { maxProofsVerified, proof: proofString, publicInput: publicInputJson, publicOutput: publicOutputJson, }: import("o1js").JsonProof): Promise<Proof<import("o1js").InferProvable<S["publicInputType"]>, import("o1js").InferProvable<S["publicOutputType"]>>>;
        dummy<Input, OutPut>(publicInput: Input, publicOutput: OutPut, maxProofsVerified: 0 | 1 | 2, domainLog2?: number): Promise<Proof<Input, OutPut>>;
        readonly provable: {
            toFields: (value: Proof<any, any>) => import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
            toAuxiliary: (value?: Proof<any, any> | undefined) => any[];
            fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[], aux: any[]) => Proof<any, any>;
            sizeInFields(): number;
            check: (value: Proof<any, any>) => void;
            toValue: (x: Proof<any, any>) => import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>;
            fromValue: (x: import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any> | Proof<any, any>) => Proof<any, any>;
            toCanonical?: ((x: Proof<any, any>) => Proof<any, any>) | undefined;
        };
        publicInputType: import("o1js").FlexibleProvable<any>;
        publicOutputType: import("o1js").FlexibleProvable<any>;
        tag: () => {
            name: string;
        };
        publicFields(value: import("o1js").ProofBase): {
            input: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
            output: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
        };
        _proofFromBase64(proofString: import("node_modules/o1js/dist/node/snarky.js").Base64ProofString, maxProofsVerified: 0 | 1 | 2): unknown;
        _proofToBase64(proof: import("node_modules/o1js/dist/node/snarky.js").Pickles.Proof, maxProofsVerified: 0 | 1 | 2): string;
    };
    proofsEnabled: boolean;
    setProofsEnabled(proofsEnabled: boolean): void;
} & {
    compute: (publicInput: BatcherInput | {
        currentStateHash: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        index: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        namespace: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes | {
            bytes: {
                value: bigint;
            }[];
        };
        currentRollingHash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[] | bigint[];
        batcherVkHash: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
        blobInclusionVkHash: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    }, args_0: DynamicProof<any, any> | import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>, args_1: VerificationKey | {
        data: string;
        hash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    } | {
        data: string;
        hash: bigint;
    }, args_2: DynamicProof<any, any> | import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>, args_3: VerificationKey | {
        data: string;
        hash: import("node_modules/o1js/dist/node/lib/provable/field.js").Field;
    } | {
        data: string;
        hash: bigint;
    }, args_4: string | number | bigint | import("node_modules/o1js/dist/node/lib/provable/field.js").Field, args_5: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes | {
        bytes: {
            value: bigint;
        }[];
    }) => Promise<{
        proof: Proof<BatcherInput, BatcherOutput>;
        auxiliaryOutput: undefined;
    }>;
};
declare const BatcherProof: {
    new ({ proof, publicInput, publicOutput, maxProofsVerified, }: {
        proof: unknown;
        publicInput: BatcherInput;
        publicOutput: BatcherOutput;
        maxProofsVerified: 0 | 2 | 1;
    }): Proof<BatcherInput, BatcherOutput>;
    fromJSON<S extends import("node_modules/o1js/dist/node/lib/util/types.js").Subclass<typeof import("node_modules/o1js/dist/node/lib/proof-system/proof.js").Proof>>(this: S, { maxProofsVerified, proof: proofString, publicInput: publicInputJson, publicOutput: publicOutputJson, }: import("o1js").JsonProof): Promise<Proof<import("o1js").InferProvable<S["publicInputType"]>, import("o1js").InferProvable<S["publicOutputType"]>>>;
    dummy<Input, OutPut>(publicInput: Input, publicOutput: OutPut, maxProofsVerified: 0 | 2 | 1, domainLog2?: number): Promise<Proof<Input, OutPut>>;
    readonly provable: {
        toFields: (value: Proof<any, any>) => import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
        toAuxiliary: (value?: Proof<any, any> | undefined) => any[];
        fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[], aux: any[]) => Proof<any, any>;
        sizeInFields(): number;
        check: (value: Proof<any, any>) => void;
        toValue: (x: Proof<any, any>) => import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>;
        fromValue: (x: Proof<any, any> | import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>) => Proof<any, any>;
        toCanonical?: ((x: Proof<any, any>) => Proof<any, any>) | undefined;
    };
    publicInputType: import("o1js").FlexibleProvable<any>;
    publicOutputType: import("o1js").FlexibleProvable<any>;
    tag: () => {
        name: string;
    };
    publicFields(value: import("o1js").ProofBase<any, any>): {
        input: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
        output: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[];
    };
    _proofFromBase64(proofString: string, maxProofsVerified: 0 | 2 | 1): unknown;
    _proofToBase64(proof: unknown, maxProofsVerified: 0 | 2 | 1): string;
} & {
    provable: Provable<Proof<BatcherInput, BatcherOutput>, import("node_modules/o1js/dist/node/lib/proof-system/proof.js").ProofValue<{
        currentStateHash: bigint;
        index: bigint;
        namespace: {
            bytes: {
                value: bigint;
            }[];
        };
        currentRollingHash: bigint[];
        batcherVkHash: bigint;
        blobInclusionVkHash: bigint;
    }, {
        initialStateHash: bigint;
        currentStateHash: bigint;
        currentRollingHash: bigint[];
        dataCommitment: {
            bytes: {
                value: bigint;
            }[];
        };
    }>>;
};
export { batcherVerifier, BatcherProof, BatcherInput, BatcherOutput, Bytes29, Bytes64, BatcherDynamicProof, BlobInclusionDynamicProof, bytesToField, };
