import { ContractDeposit } from '@nori-zk/o1js-zk-utils';
import { EthInput } from '@nori-zk/o1js-zk-utils';
import { UInt64 } from 'o1js';
export declare function compileDepositAttestationPreRequisites(): Promise<void>;
export declare function computeDepositAttestation(depositBlockNumber: number, ethAddressLowerHex: string, attestationBEHex: string): Promise<{
    depositAttestationProof: {
        publicInput: {
            rootHash: import("o1js").Field;
            path: InstanceType<{
                new (array: import("o1js/dist/node/lib/provable/field.js").Field[], length: import("o1js").Field): import("mina-attestations/build/src/dynamic/dynamic-array.js").DynamicArrayBase<import("o1js/dist/node/lib/provable/field.js").Field, bigint>;
                readonly maxLength: number;
            } & Omit<import("mina-attestations/build/src/dynamic/dynamic-array.js").DynamicArrayClass<import("o1js/dist/node/lib/provable/field.js").Field, bigint>, "provable"> & {
                provable: Omit<import("o1js").ProvableHashable<import("mina-attestations/build/src/dynamic/dynamic-array.js").DynamicArrayBase<import("o1js/dist/node/lib/provable/field.js").Field, bigint>, bigint[]>, "fromValue"> & {
                    fromValue: (value: import("mina-attestations/build/src/dynamic/dynamic-array.js").DynamicArrayBase<import("o1js/dist/node/lib/provable/field.js").Field, bigint> | (bigint | import("o1js/dist/node/lib/provable/field.js").Field)[]) => import("mina-attestations/build/src/dynamic/dynamic-array.js").DynamicArrayBase<import("o1js/dist/node/lib/provable/field.js").Field, bigint>;
                } & Omit<import("o1js").ProvablePure<import("mina-attestations/build/src/dynamic/dynamic-array.js").DynamicArrayBase<import("o1js/dist/node/lib/provable/field.js").Field, bigint>, bigint[]>, "fromValue">;
            }>;
            index: import("o1js").UInt64;
            value: ContractDeposit;
        };
        publicOutput: import("o1js").Field;
        verify(): void;
        verifyIf(condition: import("o1js").Bool): void;
        proof: import("o1js/dist/node/snarky.js").Pickles.Proof;
        maxProofsVerified: 0 | 1 | 2;
        shouldVerify: import("o1js/dist/node/lib/provable/bool.js").Bool;
        declare(): boolean;
        toJSON(): import("o1js").JsonProof;
        publicFields(): {
            input: import("o1js/dist/node/lib/provable/field.js").Field[];
            output: import("o1js/dist/node/lib/provable/field.js").Field[];
        };
    };
    ethVerifierProof: import("o1js").Proof<EthInput, import("o1js/dist/node/lib/provable/field.js").Field>;
    despositSlotRaw: {
        slot_key_address: string;
        slot_nested_key_attestation_hash: string;
        value: string;
    };
}>;
