import { Field, MerkleMap, MerkleMapWitness, MerkleTree, PublicKey } from 'o1js'; import { ZkAppIndex } from '../Constants.js'; export declare const ZKAPP_TREE_HEIGHT: number; export declare class AddressMT extends MerkleTree { } declare const AddressWitness_base: typeof import("o1js/dist/node/lib/provable/merkle-tree.js").BaseMerkleWitness; export declare class AddressWitness extends AddressWitness_base { } export declare const EMPTY_ZKAPP_MT: () => AddressMT; export declare class ReduceWitness extends MerkleMapWitness { } export declare const EMPTY_REDUCE_MT: () => MerkleMap; export declare const DefaultRootForZkAppTree: import("o1js/dist/node/lib/provable/field.js").Field; declare const ZkAppRef_base: (new (value: { address: PublicKey; witness: AddressWitness; }) => { address: PublicKey; witness: AddressWitness; }) & { _isStruct: true; } & Omit, "fromFields"> & { fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => { address: PublicKey; witness: AddressWitness; }; } & { toInput: (x: { address: PublicKey; witness: AddressWitness; }) => { fields?: import("o1js/dist/node/lib/provable/field.js").Field[] | undefined; packed?: [import("o1js/dist/node/lib/provable/field.js").Field, number][] | undefined; }; toJSON: (x: { address: PublicKey; witness: AddressWitness; }) => { address: string; witness: any; }; fromJSON: (x: { address: string; witness: any; }) => { address: PublicKey; witness: AddressWitness; }; empty: () => { address: PublicKey; witness: AddressWitness; }; }; export declare class ZkAppRef extends ZkAppRef_base { } export declare class ZkAppStorage { private _addressMap; private _addresses; constructor(addresses?: { index: Field | number; address: PublicKey; }[]); get root(): Field; get addressMap(): AddressMT; get addresses(): { [key: string]: { raw: PublicKey | undefined; leaf: Field; }; }; static calculateLeaf(address: PublicKey): Field; calculateLeaf(address: PublicKey): Field; static calculateIndex(index: Field | number): Field; calculateIndex(index: Field | number): Field; getWitness(index: Field): AddressWitness; getAddresses(): (PublicKey | undefined)[]; updateLeaf(index: Field, leaf: Field): void; updateAddress(index: Field, address: PublicKey): void; getZkAppRef(index: Field | number, address: PublicKey): ZkAppRef; } export declare const enum ActionStatus { NOT_EXISTED = 0, REDUCED = 1 } export declare function getZkAppRef(map: AddressMT, index: ZkAppIndex | number, address: PublicKey): ZkAppRef; /** * Verify the address of a zkApp * @param ref Reference to a zkApp * @param key Index of its address in MT */ export declare function verifyZkApp(programName: string, ref: ZkAppRef, root: Field, key: Field): void; export {};