import { Field, MerkleTree } from 'o1js'; import { IpfsHash } from '@auxo-dev/auxo-libs'; import { CampaignStorage, CampaignLevel1Witness } from './CampaignStorage.js'; declare const LEVEL_1_PARTICIPATION_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_PARTICIPATION_TREE: () => Level1MT; declare const DefaultRootForParticipationTree: import("o1js/dist/node/lib/provable/field.js").Field; declare abstract class ParticipationStorage { 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 ProjectIndexLeaf = Field; declare class ProjectIndexStorage extends ParticipationStorage { static calculateLeaf(index: ProjectIndexLeaf): Field; calculateLeaf(index: ProjectIndexLeaf): Field; static calculateLevel1Index({ campaignId, projectId, }: { campaignId: Field; projectId: Field; }): Field; calculateLevel1Index({ campaignId, projectId, }: { campaignId: Field; projectId: Field; }): Field; } type IpfsHashLeaf = IpfsHash; declare class IpfsHashStorage extends ParticipationStorage { static calculateLeaf(ipfsHash: IpfsHashLeaf): Field; calculateLeaf(ipfsHash: IpfsHashLeaf): Field; static calculateLevel1Index({ campaignId, projectId, }: { campaignId: Field; projectId: Field; }): Field; calculateLevel1Index({ campaignId, projectId, }: { campaignId: Field; projectId: Field; }): Field; } type ProjectCounterLeaf = Field; declare class ProjectCounterStorage extends CampaignStorage { static calculateLeaf(counter: ProjectCounterLeaf): Field; calculateLeaf(counter: ProjectCounterLeaf): Field; static calculateLevel1Index(campaignId: Field): Field; calculateLevel1Index(campaignId: Field): Field; } export { LEVEL_1_PARTICIPATION_TREE_HEIGHT, EMPTY_LEVEL_1_PARTICIPATION_TREE, DefaultRootForParticipationTree, ParticipationStorage, ProjectIndexStorage, IpfsHashStorage, ProjectCounterStorage, ProjectIndexLeaf, IpfsHashLeaf, ProjectCounterLeaf, Level1MT as ParticipationLevel1MT, Level1Witness as ParticipationLevel1Witness, Level1Witness as ProjectIndexLevel1Witness, Level1Witness as IpfsHashLevel1Witness, CampaignLevel1Witness as ProjectCounterLevel1Witness, };