import { Field, MerkleTree, PublicKey } from 'o1js'; import { IpfsHash } from '@auxo-dev/auxo-libs'; declare const LEVEL_1_PROJECT_TREE_HEIGHT: number; declare const LEVEL_2_PROJECT_MEMBER_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 class Level2MT extends MerkleTree { } declare const Level2Witness_base: typeof import("o1js/dist/node/lib/provable/merkle-tree.js").BaseMerkleWitness; declare class Level2Witness extends Level2Witness_base { } declare const EMPTY_LEVEL_1_PROJECT_TREE: () => Level1MT; declare const EMPTY_LEVEL_2_PROJECT_MEMBER_TREE: () => Level2MT; declare const DefaultRootForProjectTree: import("o1js/dist/node/lib/provable/field.js").Field; declare const DefaultRootForProjectMemberTree: import("o1js/dist/node/lib/provable/field.js").Field; declare const FullWitness_base: (new (value: { level1: Level1Witness; level2: Level2Witness; }) => { level1: Level1Witness; level2: Level2Witness; }) & { _isStruct: true; } & Omit, "fromFields"> & { fromFields: (fields: import("o1js/dist/node/lib/provable/field.js").Field[]) => { level1: Level1Witness; level2: Level2Witness; }; } & { toInput: (x: { level1: Level1Witness; level2: Level2Witness; }) => { 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: { level1: Level1Witness; level2: Level2Witness; }) => { level1: any; level2: any; }; fromJSON: (x: { level1: any; level2: any; }) => { level1: Level1Witness; level2: Level2Witness; }; empty: () => { level1: Level1Witness; level2: Level2Witness; }; }; declare class FullWitness extends FullWitness_base { } declare abstract class ProjectStorage { private _level1; private _level2s; private _leafs; constructor(leafs?: { level1Index: Field; level2Index?: Field; leaf: RawLeaf | Field; }[]); get root(): Field; get level1(): Level1MT; get level2s(): { [key: string]: Level2MT; }; get leafs(): { [key: string]: { raw: RawLeaf | undefined; leaf: Field; }; }; abstract calculateLeaf(rawLeaf: RawLeaf): Field; abstract calculateLevel1Index(args: any): Field; calculateLevel2Index?(args: any): Field; getLevel1Witness(level1Index: Field): Level1Witness; getLevel2Witness(level1Index: Field, level2Index: Field): Level2Witness; getWitness(level1Index: Field, level2Index?: Field): Level1Witness | FullWitness; updateInternal(level1Index: Field, level2: Level2MT): void; updateLeaf({ level1Index, level2Index, }: { level1Index: Field; level2Index?: Field; }, leaf: Field): void; updateRawLeaf({ level1Index, level2Index, }: { level1Index: Field; level2Index?: Field; }, rawLeaf: RawLeaf): void; } type ProjectMemberLeaf = PublicKey; declare class ProjectMemberStorage extends ProjectStorage { static calculateLeaf(publicKey: ProjectMemberLeaf): Field; calculateLeaf(publicKey: ProjectMemberLeaf): Field; static calculateLevel1Index(projectId: Field): Field; calculateLevel1Index(projectId: Field): Field; static calculateLevel2Index(memberId: Field): Field; calculateLevel2Index(memberId: Field): Field; getWitness(level1Index: Field, level2Index: Field): FullWitness; updateLeaf({ level1Index, level2Index, }: { level1Index: Field; level2Index: Field; }, leaf: Field): void; updateRawLeaf({ level1Index, level2Index, }: { level1Index: Field; level2Index: Field; }, rawLeaf: ProjectMemberLeaf): void; } type TreasuryAddressLeaf = PublicKey; declare class TreasuryAddressStorage extends ProjectStorage { static calculateLeaf(address: TreasuryAddressLeaf): Field; calculateLeaf(address: TreasuryAddressLeaf): Field; static calculateLevel1Index(projectId: Field): Field; calculateLevel1Index(projectId: Field): Field; getWitness(level1Index: Field): Level1Witness; updateLeaf({ level1Index }: { level1Index: Field; }, leaf: Field): void; updateRawLeaf({ level1Index }: { level1Index: Field; }, rawLeaf: TreasuryAddressLeaf): void; } type IpfsHashLeaf = IpfsHash; declare class IpfsHashStorage extends ProjectStorage { static calculateLeaf(ipfsHash: IpfsHashLeaf): Field; calculateLeaf(ipfsHash: IpfsHashLeaf): Field; static calculateLevel1Index(projectId: Field): Field; calculateLevel1Index(projectId: Field): Field; getWitness(level1Index: Field): Level1Witness; updateLeaf({ level1Index }: { level1Index: Field; }, leaf: Field): void; updateRawLeaf({ level1Index }: { level1Index: Field; }, rawLeaf: IpfsHashLeaf): void; } declare const MemberArray_base: { new (values?: any[] | undefined): { get(index: import("o1js/dist/node/lib/provable/field.js").Field): any; set(index: import("o1js/dist/node/lib/provable/field.js").Field, value: any): void; toFields(): import("o1js/dist/node/lib/provable/field.js").Field[]; push(value: any): void; pop(n: import("o1js/dist/node/lib/provable/field.js").Field): void; concat(other: any): any; copy(): any; slice(start: import("o1js/dist/node/lib/provable/field.js").Field, end: import("o1js/dist/node/lib/provable/field.js").Field): any; insert(index: import("o1js/dist/node/lib/provable/field.js").Field, value: any): void; includes(value: any): import("o1js/dist/node/lib/provable/bool.js").Bool; assertIncludes(value: any): void; shiftLeft(n: import("o1js/dist/node/lib/provable/field.js").Field): void; shiftRight(n: import("o1js/dist/node/lib/provable/field.js").Field): void; hash(): import("o1js/dist/node/lib/provable/field.js").Field; maxLength(): number; toString(): string; indexMask(index: import("o1js/dist/node/lib/provable/field.js").Field): import("o1js/dist/node/lib/provable/bool.js").Bool[]; incrementLength(n: import("o1js/dist/node/lib/provable/field.js").Field): void; decrementLength(n: import("o1js/dist/node/lib/provable/field.js").Field): void; lengthMask(n: import("o1js/dist/node/lib/provable/field.js").Field): import("o1js/dist/node/lib/provable/bool.js").Bool[]; map(fn: (v: any, i: import("o1js/dist/node/lib/provable/field.js").Field) => any): any; length: import("o1js/dist/node/lib/provable/field.js").Field; values: any[]; }; from(values: any[]): { get(index: import("o1js/dist/node/lib/provable/field.js").Field): any; set(index: import("o1js/dist/node/lib/provable/field.js").Field, value: any): void; toFields(): import("o1js/dist/node/lib/provable/field.js").Field[]; push(value: any): void; pop(n: import("o1js/dist/node/lib/provable/field.js").Field): void; concat(other: any): any; copy(): any; slice(start: import("o1js/dist/node/lib/provable/field.js").Field, end: import("o1js/dist/node/lib/provable/field.js").Field): any; insert(index: import("o1js/dist/node/lib/provable/field.js").Field, value: any): void; includes(value: any): import("o1js/dist/node/lib/provable/bool.js").Bool; assertIncludes(value: any): void; shiftLeft(n: import("o1js/dist/node/lib/provable/field.js").Field): void; shiftRight(n: import("o1js/dist/node/lib/provable/field.js").Field): void; hash(): import("o1js/dist/node/lib/provable/field.js").Field; maxLength(): number; toString(): string; indexMask(index: import("o1js/dist/node/lib/provable/field.js").Field): import("o1js/dist/node/lib/provable/bool.js").Bool[]; incrementLength(n: import("o1js/dist/node/lib/provable/field.js").Field): void; decrementLength(n: import("o1js/dist/node/lib/provable/field.js").Field): void; lengthMask(n: import("o1js/dist/node/lib/provable/field.js").Field): import("o1js/dist/node/lib/provable/bool.js").Bool[]; map(fn: (v: any, i: import("o1js/dist/node/lib/provable/field.js").Field) => any): any; length: import("o1js/dist/node/lib/provable/field.js").Field; values: any[]; }; fromFields(fields: import("o1js/dist/node/lib/provable/field.js").Field[]): { get(index: import("o1js/dist/node/lib/provable/field.js").Field): any; set(index: import("o1js/dist/node/lib/provable/field.js").Field, value: any): void; toFields(): import("o1js/dist/node/lib/provable/field.js").Field[]; push(value: any): void; pop(n: import("o1js/dist/node/lib/provable/field.js").Field): void; concat(other: any): any; copy(): any; slice(start: import("o1js/dist/node/lib/provable/field.js").Field, end: import("o1js/dist/node/lib/provable/field.js").Field): any; insert(index: import("o1js/dist/node/lib/provable/field.js").Field, value: any): void; includes(value: any): import("o1js/dist/node/lib/provable/bool.js").Bool; assertIncludes(value: any): void; shiftLeft(n: import("o1js/dist/node/lib/provable/field.js").Field): void; shiftRight(n: import("o1js/dist/node/lib/provable/field.js").Field): void; hash(): import("o1js/dist/node/lib/provable/field.js").Field; maxLength(): number; toString(): string; indexMask(index: import("o1js/dist/node/lib/provable/field.js").Field): import("o1js/dist/node/lib/provable/bool.js").Bool[]; incrementLength(n: import("o1js/dist/node/lib/provable/field.js").Field): void; decrementLength(n: import("o1js/dist/node/lib/provable/field.js").Field): void; lengthMask(n: import("o1js/dist/node/lib/provable/field.js").Field): import("o1js/dist/node/lib/provable/bool.js").Bool[]; map(fn: (v: any, i: import("o1js/dist/node/lib/provable/field.js").Field) => any): any; length: import("o1js/dist/node/lib/provable/field.js").Field; values: any[]; }; empty(length?: import("o1js/dist/node/lib/provable/field.js").Field | undefined): { get(index: import("o1js/dist/node/lib/provable/field.js").Field): any; set(index: import("o1js/dist/node/lib/provable/field.js").Field, value: any): void; toFields(): import("o1js/dist/node/lib/provable/field.js").Field[]; push(value: any): void; pop(n: import("o1js/dist/node/lib/provable/field.js").Field): void; concat(other: any): any; copy(): any; slice(start: import("o1js/dist/node/lib/provable/field.js").Field, end: import("o1js/dist/node/lib/provable/field.js").Field): any; insert(index: import("o1js/dist/node/lib/provable/field.js").Field, value: any): void; includes(value: any): import("o1js/dist/node/lib/provable/bool.js").Bool; assertIncludes(value: any): void; shiftLeft(n: import("o1js/dist/node/lib/provable/field.js").Field): void; shiftRight(n: import("o1js/dist/node/lib/provable/field.js").Field): void; hash(): import("o1js/dist/node/lib/provable/field.js").Field; maxLength(): number; toString(): string; indexMask(index: import("o1js/dist/node/lib/provable/field.js").Field): import("o1js/dist/node/lib/provable/bool.js").Bool[]; incrementLength(n: import("o1js/dist/node/lib/provable/field.js").Field): void; decrementLength(n: import("o1js/dist/node/lib/provable/field.js").Field): void; lengthMask(n: import("o1js/dist/node/lib/provable/field.js").Field): import("o1js/dist/node/lib/provable/bool.js").Bool[]; map(fn: (v: any, i: import("o1js/dist/node/lib/provable/field.js").Field) => any): any; length: import("o1js/dist/node/lib/provable/field.js").Field; values: any[]; }; hash(value: any): import("o1js/dist/node/lib/provable/field.js").Field; Null(): any; fillWithNull(values: any[], length: number): any[]; _isStruct: true; toFields: (value: { length: import("o1js/dist/node/lib/provable/field.js").Field; values: any[]; }) => import("o1js/dist/node/lib/provable/field.js").Field[]; toAuxiliary: (value?: { length: import("o1js/dist/node/lib/provable/field.js").Field; values: any[]; } | undefined) => any[]; sizeInFields: () => number; check: (value: { length: import("o1js/dist/node/lib/provable/field.js").Field; values: any[]; }) => void; toInput: (x: { length: import("o1js/dist/node/lib/provable/field.js").Field; values: any[]; }) => { 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: { length: import("o1js/dist/node/lib/provable/field.js").Field; values: any[]; }) => { length: string; values: { toFields: {}; toAuxiliary: {}; sizeInFields: {}; check: {}; fromFields: {}; }[]; }; fromJSON: (x: { length: string; values: { toFields: {}; toAuxiliary: {}; sizeInFields: {}; check: {}; fromFields: {}; }[]; }) => { length: import("o1js/dist/node/lib/provable/field.js").Field; values: any[]; }; }; declare class MemberArray extends MemberArray_base { } declare enum ProjectActionEnum { CREATE_PROJECT = 0, UPDATE_PROJECT = 1 } export { LEVEL_1_PROJECT_TREE_HEIGHT, LEVEL_2_PROJECT_MEMBER_TREE_HEIGHT, EMPTY_LEVEL_1_PROJECT_TREE, EMPTY_LEVEL_2_PROJECT_MEMBER_TREE, DefaultRootForProjectTree, DefaultRootForProjectMemberTree, ProjectStorage, ProjectMemberStorage, TreasuryAddressStorage, IpfsHashStorage, ProjectMemberLeaf, TreasuryAddressLeaf, IpfsHashLeaf, MemberArray, ProjectActionEnum, Level1MT as ProjectLevel1MT, Level2MT as ProjectLevel2MT, FullWitness as ProjectFullWitness, Level1Witness as ProjectMemberLevel1Witness, Level2Witness as ProjectMemberLevel2Witness, Level1Witness as TreasuryAddressLevel1Witness, Level1Witness as IpfsHashLevel1Witness, };