import { Field, MerkleTree, UInt64 } from 'o1js'; import { CampaignStorage } from './CampaignStorage.js'; declare const LEVEL_1_VESTING_TREE_HEIGHT: number; declare class Level1MT extends MerkleTree { } declare const Level1Witness_base: typeof import("o1js/dist/node/lib/provable/merkle-tree.js").BaseMerkleWitness; declare class Level1Witness extends Level1Witness_base { } declare const EMPTY_LEVEL_1_VESTING_TREE: () => Level1MT; declare const DefaultRootForVestingTree: import("o1js/dist/node/lib/provable/field.js").Field; declare abstract class VestingStorage { private _level1; private _leafs; constructor(leafs?: { level1Index: Field; leaf: RawLeaf | Field; }[]); get root(): Field; get level1(): Level1MT; get leafs(): { [key: string]: { raw: RawLeaf | undefined; leaf: Field; }; }; abstract calculateLeaf(rawLeaf: RawLeaf): Field; abstract calculateLevel1Index(args: any): Field; getLevel1Witness(level1Index: Field): Level1Witness; getWitness(level1Index: Field): Level1Witness; updateLeaf(level1Index: Field, leaf: Field): void; updateRawLeaf(level1Index: Field, rawLeaf: RawLeaf): void; } type VestedLeaf = UInt64; declare class VestedAmountStorage extends CampaignStorage { static calculateLeaf(amount: VestedLeaf): Field; calculateLeaf(amount: VestedLeaf): Field; static calculateLevel1Index(campaignId: Field): Field; calculateLevel1Index(campaignId: Field): Field; } declare const VestingInfo_base: (new (value: { campaignId: import("o1js/dist/node/lib/provable/field.js").Field; amount: UInt64; deadline: UInt64; claimed: import("o1js/dist/node/lib/provable/bool.js").Bool; }) => { campaignId: import("o1js/dist/node/lib/provable/field.js").Field; amount: UInt64; deadline: UInt64; claimed: import("o1js/dist/node/lib/provable/bool.js").Bool; }) & { _isStruct: true; } & Omit, "fromFields"> & { fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => { campaignId: import("o1js/dist/node/lib/provable/field.js").Field; amount: UInt64; deadline: UInt64; claimed: import("o1js/dist/node/lib/provable/bool.js").Bool; }; } & { toInput: (x: { campaignId: import("o1js/dist/node/lib/provable/field.js").Field; amount: UInt64; deadline: UInt64; claimed: import("o1js/dist/node/lib/provable/bool.js").Bool; }) => { 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: { campaignId: import("o1js/dist/node/lib/provable/field.js").Field; amount: UInt64; deadline: UInt64; claimed: import("o1js/dist/node/lib/provable/bool.js").Bool; }) => { campaignId: string; amount: string; deadline: string; claimed: boolean; }; fromJSON: (x: { campaignId: string; amount: string; deadline: string; claimed: boolean; }) => { campaignId: import("o1js/dist/node/lib/provable/field.js").Field; amount: UInt64; deadline: UInt64; claimed: import("o1js/dist/node/lib/provable/bool.js").Bool; }; empty: () => { campaignId: import("o1js/dist/node/lib/provable/field.js").Field; amount: UInt64; deadline: UInt64; claimed: import("o1js/dist/node/lib/provable/bool.js").Bool; }; }; declare class VestingInfo extends VestingInfo_base { static fromFields(fields: Field[]): VestingInfo; } type VestingInfoLeaf = VestingInfo; declare class VestingInfoStorage extends VestingStorage { static calculateLeaf(vestingInfo: VestingInfoLeaf): Field; calculateLeaf(vestingInfo: VestingInfoLeaf): Field; static calculateLevel1Index(vestingId: Field): Field; calculateLevel1Index(vestingId: Field): Field; } export { LEVEL_1_VESTING_TREE_HEIGHT, EMPTY_LEVEL_1_VESTING_TREE, DefaultRootForVestingTree, VestingStorage, VestedLeaf, VestedAmountStorage, VestingInfo, VestingInfoLeaf, VestingInfoStorage, Level1MT as VestingLevel1MT, Level1Witness as VestingLevel1Witness, };