import type { SimpleMerkleTree } from '@openzeppelin/merkle-tree'; import type { HexString } from '../types/index.js'; import { MerkleProofPolicy, MerkleProofPolicyInput, MerkleProofWorkflow } from '../types/poolMetadata.js'; import { Balance, Price } from '../utils/BigInt.js'; import { Entity } from './Entity.js'; import type { Pool } from './Pool.js'; import { PoolNetwork } from './PoolNetwork.js'; export type WorkflowDefaultValue = HexString | string | number | null; export type WorkflowVerificationAction = { policy: MerkleProofPolicyInput; defaultValues: WorkflowDefaultValue[]; }; /** * Query and interact with a Merkle Proof Manager. */ export declare class MerkleProofManager extends Entity { network: PoolNetwork; pool: Pool; /** * The contract address of the Merkle Proof Manager. */ address: HexString; policiesAndWorkflows(strategist: HexString): import("../index.js").Query; strategists(): import("../index.js").Query<{ centrifugeId: number; address: string; policies: MerkleProofPolicy[]; workflows: MerkleProofWorkflow[]; policyRoot: SimpleMerkleTree; }[]>; setWorkflows(strategist: HexString, workflows: MerkleProofWorkflow[], verificationSources?: Record): import("../types/transaction.js").Transaction; addPolicy(strategist: HexString, newPolicies: MerkleProofPolicyInput[], workflowMetadata: { id: string; name: string; category?: string; iconUrl?: string; template?: string; verificationActions?: WorkflowVerificationAction[]; }, options?: { simulate: boolean; }): import("../types/transaction.js").Transaction; addWorkflow(strategist: HexString, workflowMetadata: { id: string; name: string; category?: string; iconUrl?: string; template?: string; verificationActions: WorkflowVerificationAction[]; }, options?: { simulate: boolean; }): import("../types/transaction.js").Transaction; setPolicies(strategist: HexString, policyInputs: MerkleProofPolicyInput[], options?: { simulate: boolean; }): import("../types/transaction.js").Transaction; /** * Disable strategist. * @param strategist - The strategist address to disable */ disableStrategist(strategist: HexString): import("../types/transaction.js").Transaction; execute(calls: { policy: MerkleProofPolicy; inputs: (string | number | bigint | Balance | Price)[]; value?: bigint; }[], options?: { simulate: boolean; }): import("../types/transaction.js").Transaction; } export declare function toHashedPolicyLeaf(policy: MerkleProofPolicy, argsEncoded: HexString): HexString; export declare function getMerkleTree(MerkleTreeConstructor: typeof SimpleMerkleTree, policies: MerkleProofPolicy[]): SimpleMerkleTree; export declare function getMerkleProof(tree: SimpleMerkleTree, leaf: MerkleProofPolicy, argsEncoded: HexString): HexString[]; export declare function generateCombinations(inputs: MerkleProofPolicyInput['inputs']): (`0x${string}` | null)[][]; export declare function normalizeDefaultValues(defaultValues: ReadonlyArray | undefined, expectedLength: number): WorkflowDefaultValue[]; export declare function findWorkflowPolicyIndices(allPolicies: MerkleProofPolicy[], canonicalActions: WorkflowVerificationAction[]): number[] | null; export declare function isVerifiedWorkflow(workflow: MerkleProofWorkflow, allPolicies: MerkleProofPolicy[], canonicalActions: WorkflowVerificationAction[]): boolean; //# sourceMappingURL=MerkleProofManager.d.ts.map