import { Field, Bool, MerkleTree, PublicKey, UInt64 } from 'o1js'; import { IpfsHash } from '@auxo-dev/auxo-libs'; declare const LEVEL_1_CAMPAIGN_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_CAMPAIGN_TREE: () => Level1MT; declare const DefaultRootForCampaignTree: import("o1js/dist/node/lib/provable/field.js").Field; declare abstract class CampaignStorage { 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 IpfsHashLeaf = IpfsHash; declare class IpfsHashStorage extends CampaignStorage { static calculateLeaf(ipfsHash: IpfsHashLeaf): Field; calculateLeaf(ipfsHash: IpfsHashLeaf): Field; static calculateLevel1Index(campaignId: Field): Field; calculateLevel1Index(campaignId: Field): Field; } type OwnerLeaf = PublicKey; declare class OwnerStorage extends CampaignStorage { static calculateLeaf(publicKey: OwnerLeaf): Field; calculateLeaf(publicKey: OwnerLeaf): Field; static calculateLevel1Index(campaignId: Field): Field; calculateLevel1Index(campaignId: Field): Field; } type KeyIndexLeaf = { committeeId: Field; keyId: Field; }; declare class KeyIndexStorage extends CampaignStorage { static calculateLeaf(keyIndex: KeyIndexLeaf): Field; calculateLeaf(keyIndex: KeyIndexLeaf): Field; static calculateLevel1Index(campaignId: Field): Field; calculateLevel1Index(campaignId: Field): Field; } declare enum CampaignTimelineStateEnum { PREPARATION = 0, PARTICIPATION = 1, FUNDING = 2, REQUESTING = 3 } declare enum CampaignActionEnum { CREATE_CAMPAIGN = 0, END_CAMPAIGN = 1 } declare const Timeline_base: (new (value: { startParticipation: UInt64; startFunding: UInt64; startRequesting: UInt64; }) => { startParticipation: UInt64; startFunding: UInt64; startRequesting: UInt64; }) & { _isStruct: true; } & Omit, "fromFields"> & { fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => { startParticipation: UInt64; startFunding: UInt64; startRequesting: UInt64; }; } & { toInput: (x: { startParticipation: UInt64; startFunding: UInt64; startRequesting: UInt64; }) => { 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: { startParticipation: UInt64; startFunding: UInt64; startRequesting: UInt64; }) => { startParticipation: string; startFunding: string; startRequesting: string; }; fromJSON: (x: { startParticipation: string; startFunding: string; startRequesting: string; }) => { startParticipation: UInt64; startFunding: UInt64; startRequesting: UInt64; }; empty: () => { startParticipation: UInt64; startFunding: UInt64; startRequesting: UInt64; }; }; declare class Timeline extends Timeline_base { isValid(): Bool; hash(): Field; } type TimelineLeaf = Timeline; declare class TimelineStorage extends CampaignStorage { static calculateLeaf(timeline: TimelineLeaf): Field; calculateLeaf(timeline: TimelineLeaf): Field; static calculateLevel1Index(campaignId: Field): Field; calculateLevel1Index(campaignId: Field): Field; } export { LEVEL_1_CAMPAIGN_TREE_HEIGHT, EMPTY_LEVEL_1_CAMPAIGN_TREE, DefaultRootForCampaignTree, CampaignStorage, TimelineStorage, OwnerStorage, IpfsHashStorage, KeyIndexStorage, Timeline, TimelineLeaf, OwnerLeaf, IpfsHashLeaf, KeyIndexLeaf, CampaignTimelineStateEnum, CampaignActionEnum, Level1MT as CampaignLevel1MT, Level1Witness as CampaignLevel1Witness, Level1Witness as TimelineLevel1Witness, Level1Witness as OwnerLevel1Witness, Level1Witness as IpfsHashLevel1Witness, Level1Witness as KeyIndexLevel1Witness, };