import { Field, Provable, PublicKey, SelfProof } from 'o1js';
import { ProofGenerators } from './types/proofGenerators.js';
import { SignaturePublicKeyMatrix } from './types/signaturePubKeyList.js';
export { SettlementProof, MultisigVerifierProgram, SettlementPublicInputs, SettlementPublicOutputs, Block, BlockList, };
declare const SettlementPublicInputs_base: (new (value: {
    InitialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    InitialStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    InitialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
    NewMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    NewStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    NewBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
    ProofGeneratorsList: ProofGenerators;
}) => {
    InitialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    InitialStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    InitialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
    NewMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    NewStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    NewBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
    ProofGeneratorsList: ProofGenerators;
}) & {
    _isStruct: true;
} & Omit<import("o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
    InitialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    InitialStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    InitialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
    NewMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    NewStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    NewBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
    ProofGeneratorsList: ProofGenerators;
}, {
    InitialMerkleListRoot: bigint;
    InitialStateRoot: bigint;
    InitialBlockHeight: bigint;
    NewMerkleListRoot: bigint;
    NewStateRoot: bigint;
    NewBlockHeight: bigint;
    ProofGeneratorsList: {
        list: bigint[];
    };
}>, "fromFields"> & {
    fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => {
        InitialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
        NewMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
        ProofGeneratorsList: ProofGenerators;
    };
} & {
    fromValue: (value: {
        InitialMerkleListRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        InitialStateRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        InitialBlockHeight: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        NewMerkleListRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        NewStateRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        NewBlockHeight: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        ProofGeneratorsList: ProofGenerators | {
            list: import("o1js/dist/node/lib/provable/field.js").Field[] | bigint[];
        };
    }) => {
        InitialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
        NewMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
        ProofGeneratorsList: ProofGenerators;
    };
    toInput: (x: {
        InitialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
        NewMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
        ProofGeneratorsList: ProofGenerators;
    }) => {
        fields?: Field[] | undefined;
        packed?: [Field, number][] | undefined;
    };
    toJSON: (x: {
        InitialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
        NewMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
        ProofGeneratorsList: ProofGenerators;
    }) => {
        InitialMerkleListRoot: string;
        InitialStateRoot: string;
        InitialBlockHeight: string;
        NewMerkleListRoot: string;
        NewStateRoot: string;
        NewBlockHeight: string;
        ProofGeneratorsList: {
            list: string[];
        };
    };
    fromJSON: (x: {
        InitialMerkleListRoot: string;
        InitialStateRoot: string;
        InitialBlockHeight: string;
        NewMerkleListRoot: string;
        NewStateRoot: string;
        NewBlockHeight: string;
        ProofGeneratorsList: {
            list: string[];
        };
    }) => {
        InitialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
        NewMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
        ProofGeneratorsList: ProofGenerators;
    };
    empty: () => {
        InitialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
        NewMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
        ProofGeneratorsList: ProofGenerators;
    };
};
declare class SettlementPublicInputs extends SettlementPublicInputs_base {
    static default: SettlementPublicInputs;
    isEmpty(): import("o1js/dist/node/lib/provable/bool.js").Bool;
    hash(): import("o1js/dist/node/lib/provable/field.js").Field;
    actionHash(): import("o1js/dist/node/lib/provable/field.js").Field;
    toJSON(): {
        InitialMerkleListRoot: string;
        InitialStateRoot: string;
        InitialBlockHeight: string;
        NewMerkleListRoot: string;
        NewStateRoot: string;
        NewBlockHeight: string;
        ProofGeneratorsList: {
            list: string[];
        };
    };
}
declare const Block_base: (new (value: {
    InitialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    InitialStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    InitialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
    NewMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    NewStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    NewBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
}) => {
    InitialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    InitialStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    InitialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
    NewMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    NewStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    NewBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
}) & {
    _isStruct: true;
} & Omit<import("o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
    InitialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    InitialStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    InitialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
    NewMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    NewStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
    NewBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
}, {
    InitialMerkleListRoot: bigint;
    InitialStateRoot: bigint;
    InitialBlockHeight: bigint;
    NewMerkleListRoot: bigint;
    NewStateRoot: bigint;
    NewBlockHeight: bigint;
}>, "fromFields"> & {
    fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => {
        InitialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
        NewMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
    };
} & {
    fromValue: (value: {
        InitialMerkleListRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        InitialStateRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        InitialBlockHeight: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        NewMerkleListRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        NewStateRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        NewBlockHeight: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
    }) => {
        InitialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
        NewMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
    };
    toInput: (x: {
        InitialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
        NewMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
    }) => {
        fields?: Field[] | undefined;
        packed?: [Field, number][] | undefined;
    };
    toJSON: (x: {
        InitialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
        NewMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
    }) => {
        InitialMerkleListRoot: string;
        InitialStateRoot: string;
        InitialBlockHeight: string;
        NewMerkleListRoot: string;
        NewStateRoot: string;
        NewBlockHeight: string;
    };
    fromJSON: (x: {
        InitialMerkleListRoot: string;
        InitialStateRoot: string;
        InitialBlockHeight: string;
        NewMerkleListRoot: string;
        NewStateRoot: string;
        NewBlockHeight: string;
    }) => {
        InitialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
        NewMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
    };
    empty: () => {
        InitialMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        InitialBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
        NewMerkleListRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewStateRoot: import("o1js/dist/node/lib/provable/field.js").Field;
        NewBlockHeight: import("o1js/dist/node/lib/provable/field.js").Field;
    };
};
declare class Block extends Block_base {
    hash(): import("o1js/dist/node/lib/provable/field.js").Field;
    toJSON(): {
        InitialMerkleListRoot: string;
        InitialStateRoot: string;
        InitialBlockHeight: string;
        NewMerkleListRoot: string;
        NewStateRoot: string;
        NewBlockHeight: string;
    };
}
declare const BlockList_base: (new (value: {
    list: Block[];
}) => {
    list: Block[];
}) & {
    _isStruct: true;
} & Omit<import("o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
    list: Block[];
}, {
    list: {
        InitialMerkleListRoot: bigint;
        InitialStateRoot: bigint;
        InitialBlockHeight: bigint;
        NewMerkleListRoot: bigint;
        NewStateRoot: bigint;
        NewBlockHeight: bigint;
    }[];
}>, "fromFields"> & {
    fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => {
        list: Block[];
    };
} & {
    fromValue: (value: {
        list: Block[] | {
            InitialMerkleListRoot: bigint;
            InitialStateRoot: bigint;
            InitialBlockHeight: bigint;
            NewMerkleListRoot: bigint;
            NewStateRoot: bigint;
            NewBlockHeight: bigint;
        }[];
    }) => {
        list: Block[];
    };
    toInput: (x: {
        list: Block[];
    }) => {
        fields?: Field[] | undefined;
        packed?: [Field, number][] | undefined;
    };
    toJSON: (x: {
        list: Block[];
    }) => {
        list: {
            InitialMerkleListRoot: string;
            InitialStateRoot: string;
            InitialBlockHeight: string;
            NewMerkleListRoot: string;
            NewStateRoot: string;
            NewBlockHeight: string;
        }[];
    };
    fromJSON: (x: {
        list: {
            InitialMerkleListRoot: string;
            InitialStateRoot: string;
            InitialBlockHeight: string;
            NewMerkleListRoot: string;
            NewStateRoot: string;
            NewBlockHeight: string;
        }[];
    }) => {
        list: Block[];
    };
    empty: () => {
        list: Block[];
    };
};
declare class BlockList extends BlockList_base {
    static fromArray(arr: Block[]): BlockList;
    toJSON(): {
        InitialMerkleListRoot: string;
        InitialStateRoot: string;
        InitialBlockHeight: string;
        NewMerkleListRoot: string;
        NewStateRoot: string;
        NewBlockHeight: string;
    }[];
}
declare const SettlementPublicOutputs_base: (new (value: {
    numberOfSettlementProofs: import("o1js/dist/node/lib/provable/field.js").Field;
}) => {
    numberOfSettlementProofs: import("o1js/dist/node/lib/provable/field.js").Field;
}) & {
    _isStruct: true;
} & Omit<import("o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
    numberOfSettlementProofs: import("o1js/dist/node/lib/provable/field.js").Field;
}, {
    numberOfSettlementProofs: bigint;
}>, "fromFields"> & {
    fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => {
        numberOfSettlementProofs: import("o1js/dist/node/lib/provable/field.js").Field;
    };
} & {
    fromValue: (value: {
        numberOfSettlementProofs: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
    }) => {
        numberOfSettlementProofs: import("o1js/dist/node/lib/provable/field.js").Field;
    };
    toInput: (x: {
        numberOfSettlementProofs: import("o1js/dist/node/lib/provable/field.js").Field;
    }) => {
        fields?: Field[] | undefined;
        packed?: [Field, number][] | undefined;
    };
    toJSON: (x: {
        numberOfSettlementProofs: import("o1js/dist/node/lib/provable/field.js").Field;
    }) => {
        numberOfSettlementProofs: string;
    };
    fromJSON: (x: {
        numberOfSettlementProofs: string;
    }) => {
        numberOfSettlementProofs: import("o1js/dist/node/lib/provable/field.js").Field;
    };
    empty: () => {
        numberOfSettlementProofs: import("o1js/dist/node/lib/provable/field.js").Field;
    };
};
declare class SettlementPublicOutputs extends SettlementPublicOutputs_base {
    static default: SettlementPublicOutputs;
}
declare const MultisigVerifierProgram: {
    name: string;
    maxProofsVerified(): Promise<0 | 1 | 2>;
    compile: (options?: {
        cache?: import("o1js").Cache;
        forceRecompile?: boolean;
        proofsEnabled?: boolean;
        withRuntimeTables?: boolean;
        numChunks?: number;
        lazyMode?: boolean;
    }) => Promise<{
        verificationKey: {
            data: string;
            hash: Field;
        };
    }>;
    verify: (proof: import("o1js").Proof<SettlementPublicInputs, SettlementPublicOutputs>) => Promise<boolean>;
    digest: () => Promise<string>;
    analyzeMethods: () => Promise<{
        verifySignatures: import("o1js/dist/node/lib/provable/core/provable-context.js").ConstraintSystemSummary & {
            proofs: import("o1js/dist/node/lib/proof-system/proof.js").ProofClass[];
        };
        mergeProofs: import("o1js/dist/node/lib/provable/core/provable-context.js").ConstraintSystemSummary & {
            proofs: import("o1js/dist/node/lib/proof-system/proof.js").ProofClass[];
        };
    }>;
    analyzeSingleMethod<K extends "verifySignatures" | "mergeProofs">(methodName: K): Promise<import("o1js/dist/node/lib/provable/core/provable-context.js").ConstraintSystemSummary & {
        proofs: import("o1js/dist/node/lib/proof-system/proof.js").ProofClass[];
    }>;
    publicInputType: typeof SettlementPublicInputs;
    publicOutputType: typeof SettlementPublicOutputs;
    privateInputTypes: {
        verifySignatures: [typeof SignaturePublicKeyMatrix, typeof PublicKey, typeof BlockList];
        mergeProofs: [typeof SelfProof, typeof SelfProof];
    };
    auxiliaryOutputTypes: {
        verifySignatures: undefined;
        mergeProofs: undefined;
    };
    rawMethods: {
        verifySignatures: (publicInput: SettlementPublicInputs, args_0: SignaturePublicKeyMatrix, args_1: PublicKey, args_2: BlockList) => Promise<{
            publicOutput: SettlementPublicOutputs;
        }>;
        mergeProofs: (publicInput: SettlementPublicInputs, args_0: SelfProof<unknown, unknown>, args_1: SelfProof<unknown, unknown>) => Promise<{
            publicOutput: SettlementPublicOutputs;
        }>;
    };
    Proof: {
        new ({ proof, publicInput, publicOutput, maxProofsVerified, }: {
            proof: import("o1js/dist/node/bindings.js").Pickles.Proof;
            publicInput: SettlementPublicInputs;
            publicOutput: SettlementPublicOutputs;
            maxProofsVerified: 0 | 1 | 2;
        }): import("o1js").Proof<SettlementPublicInputs, SettlementPublicOutputs>;
        fromJSON<S extends import("o1js/dist/node/lib/util/types.js").Subclass<typeof import("o1js").Proof>>(this: S, { maxProofsVerified, proof: proofString, publicInput: publicInputJson, publicOutput: publicOutputJson, }: import("o1js").JsonProof): Promise<import("o1js").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<import("o1js").Proof<Input, OutPut>>;
        get provable(): {
            toFields: (value: import("o1js").Proof<any, any>) => import("o1js/dist/node/lib/provable/field.js").Field[];
            toAuxiliary: (value?: import("o1js").Proof<any, any> | undefined) => any[];
            fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[], aux: any[]) => import("o1js").Proof<any, any>;
            sizeInFields(): number;
            check: (value: import("o1js").Proof<any, any>) => void;
            toValue: (x: import("o1js").Proof<any, any>) => import("o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>;
            fromValue: (x: import("o1js").Proof<any, any> | import("o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>) => import("o1js").Proof<any, any>;
            toCanonical?: ((x: import("o1js").Proof<any, any>) => import("o1js").Proof<any, any>) | undefined;
        };
        publicInputType: import("o1js").FlexibleProvable<any>;
        publicOutputType: import("o1js").FlexibleProvable<any>;
        tag: () => {
            name: string;
        };
        publicFields(value: import("o1js").ProofBase): {
            input: import("o1js/dist/node/lib/provable/field.js").Field[];
            output: import("o1js/dist/node/lib/provable/field.js").Field[];
        };
        _proofFromBase64(proofString: import("o1js/dist/node/bindings.js").Base64ProofString, maxProofsVerified: 0 | 1 | 2): unknown;
        _proofToBase64(proof: import("o1js/dist/node/bindings.js").Pickles.Proof, maxProofsVerified: 0 | 1 | 2): string;
    };
    proofsEnabled: boolean;
    setProofsEnabled(proofsEnabled: boolean): void;
} & {
    verifySignatures: (publicInput: SettlementPublicInputs | {
        InitialMerkleListRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        InitialStateRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        InitialBlockHeight: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        NewMerkleListRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        NewStateRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        NewBlockHeight: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        ProofGeneratorsList: ProofGenerators | {
            list: import("o1js/dist/node/lib/provable/field.js").Field[] | bigint[];
        };
    }, args_0: SignaturePublicKeyMatrix | {
        matrix: import("./types/signaturePubKeyList.js").SignaturePublicKeyList[] | {
            list: {
                signature: any;
                publicKey: {
                    x: bigint;
                    isOdd: boolean;
                };
            }[];
        }[];
    }, args_1: PublicKey | {
        x: Field | bigint;
        isOdd: import("o1js").Bool | boolean;
    }, args_2: BlockList | {
        list: Block[] | {
            InitialMerkleListRoot: bigint;
            InitialStateRoot: bigint;
            InitialBlockHeight: bigint;
            NewMerkleListRoot: bigint;
            NewStateRoot: bigint;
            NewBlockHeight: bigint;
        }[];
    }) => Promise<{
        proof: import("o1js").Proof<SettlementPublicInputs, SettlementPublicOutputs>;
        auxiliaryOutput: undefined;
    }>;
    mergeProofs: (publicInput: SettlementPublicInputs | {
        InitialMerkleListRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        InitialStateRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        InitialBlockHeight: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        NewMerkleListRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        NewStateRoot: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        NewBlockHeight: string | number | bigint | import("o1js/dist/node/lib/provable/field.js").Field;
        ProofGeneratorsList: ProofGenerators | {
            list: import("o1js/dist/node/lib/provable/field.js").Field[] | bigint[];
        };
    }, args_0: import("o1js").Proof<any, any> | import("o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>, args_1: import("o1js").Proof<any, any> | import("o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>) => Promise<{
        proof: import("o1js").Proof<SettlementPublicInputs, SettlementPublicOutputs>;
        auxiliaryOutput: undefined;
    }>;
};
declare const SettlementProof_base: {
    new ({ proof, publicInput, publicOutput, maxProofsVerified, }: {
        proof: unknown;
        publicInput: SettlementPublicInputs;
        publicOutput: SettlementPublicOutputs;
        maxProofsVerified: 0 | 2 | 1;
    }): import("o1js").Proof<SettlementPublicInputs, SettlementPublicOutputs>;
    fromJSON<S extends import("o1js/dist/node/lib/util/types.js").Subclass<typeof import("o1js").Proof>>(this: S, { maxProofsVerified, proof: proofString, publicInput: publicInputJson, publicOutput: publicOutputJson, }: import("o1js").JsonProof): Promise<import("o1js").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<import("o1js").Proof<Input, OutPut>>;
    readonly provable: {
        toFields: (value: import("o1js").Proof<any, any>) => import("o1js/dist/node/lib/provable/field.js").Field[];
        toAuxiliary: (value?: import("o1js").Proof<any, any> | undefined) => any[];
        fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[], aux: any[]) => import("o1js").Proof<any, any>;
        sizeInFields(): number;
        check: (value: import("o1js").Proof<any, any>) => void;
        toValue: (x: import("o1js").Proof<any, any>) => import("o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>;
        fromValue: (x: import("o1js").Proof<any, any> | import("o1js/dist/node/lib/proof-system/proof.js").ProofValue<any, any>) => import("o1js").Proof<any, any>;
        toCanonical?: ((x: import("o1js").Proof<any, any>) => import("o1js").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("o1js/dist/node/lib/provable/field.js").Field[];
        output: import("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<import("o1js").Proof<SettlementPublicInputs, SettlementPublicOutputs>, import("o1js/dist/node/lib/proof-system/proof.js").ProofValue<{
        InitialMerkleListRoot: bigint;
        InitialStateRoot: bigint;
        InitialBlockHeight: bigint;
        NewMerkleListRoot: bigint;
        NewStateRoot: bigint;
        NewBlockHeight: bigint;
        ProofGeneratorsList: {
            list: bigint[];
        };
    }, {
        numberOfSettlementProofs: bigint;
    }>>;
};
declare class SettlementProof extends SettlementProof_base {
}
