import { UInt64, UInt8 } from 'o1js';
import { Logger } from '@nori-zk/proof-conversion';
import { PlonkProof } from './types.js';
export declare function padUInt64To32Bytes(num: UInt64): UInt8[];
export declare function decodeConsensusMptProof(ethSP1Proof: PlonkProof): {
    inputSlot: UInt64;
    inputStoreHash: import("o1js/dist/node/lib/provable/bytes.js").Bytes;
    outputSlot: UInt64;
    outputStoreHash: import("o1js/dist/node/lib/provable/bytes.js").Bytes;
    executionStateRoot: import("o1js/dist/node/lib/provable/bytes.js").Bytes;
    verifiedContractDepositsRoot: import("o1js/dist/node/lib/provable/bytes.js").Bytes;
    nextSyncCommitteeHash: import("o1js/dist/node/lib/provable/bytes.js").Bytes;
};
export declare function compileAndVerifyContracts(logger: Logger): Promise<{
    ethVerifierVerificationKey: {
        data: string;
        hash: import("o1js").Field;
    };
    ethProcessorVerificationKey: {
        data: string;
        hash: import("o1js/dist/node/lib/provable/field.js").Field;
    };
}>;
export declare const rootDir: string;
