import { PublicKey, SmartContract, State } from "o1js";
import { ProofOfAsset, SelectorArrayProof } from "@netzero/por_circuits";
export declare class NetZeroAssetVerifier extends SmartContract {
    selectorArrayCommitment: State<import("o1js/dist/node/lib/provable/group").Group>;
    assetCommitment: State<import("o1js/dist/node/lib/provable/group").Group>;
    publicAddressesCommitment: State<import("o1js/dist/node/lib/provable/field").Field>;
    publicBalancesCommitment: State<import("o1js/dist/node/lib/provable/field").Field>;
    admin: State<PublicKey>;
    init(): void;
    setAdmin(admin: PublicKey): Promise<void>;
    verifyAndSetSelectorCommitment(selectorArrayProof: SelectorArrayProof): Promise<void>;
    verifyProofOfAssetAndUpdateCommitment(proof: ProofOfAsset): Promise<void>;
}
