import { ContractClient, PermissionData, ValidateAbilityExecutionAndGetPoliciesResult } from "@lit-protocol/vincent-contracts-sdk"; import { StateManager } from "./state-manager"; export interface ChainClient { registerApp: (params: { abilityIpfsCids: string[]; abilityPolicies: string[][]; }) => Promise<{ appId: number; appVersion: number; }>; registerNextAppVersion: (params: { appId: number; abilityIpfsCids: string[]; abilityPolicies: string[][]; }) => Promise<{ appId: number; appVersion: number; }>; permitAppVersion: (params: { pkpEthAddress: string; appId: number; appVersion: number; abilityIpfsCids: string[]; policyIpfsCids: string[][]; }) => Promise<{ txHash: string | null; skipped?: boolean; }>; validateAbilityExecution: (params: { delegateeAddress: string; pkpEthAddress: string; abilityIpfsCid: string; }) => Promise; } export declare const createRegisterAppFunction: (stateManager: StateManager, contractClient: ContractClient, delegateeAccount: { address: string; }) => ({ abilityIpfsCids, abilityPolicies, policyParams, }: { abilityIpfsCids: string[]; abilityPolicies: string[][]; policyParams: PermissionData; }) => Promise<{ appId: number; appVersion: number; isNew: boolean; isNewVersion: boolean; abilityIpfsCids: string[]; abilityPolicies: string[][]; policyParams: PermissionData; }>; export declare const createRegisterNextAppVersionFunction: (contractClient: ContractClient) => ({ appId, abilityIpfsCids, abilityPolicies, }: { appId: number; abilityIpfsCids: string[]; abilityPolicies: string[][]; }) => Promise<{ appId: number; appVersion: number; }>; export declare const createPermitAppVersionFunction: (stateManager: StateManager, contractClient: ContractClient) => ({ pkpEthAddress, appId, appVersion, abilityIpfsCids, policyIpfsCids, policyParams, }: { pkpEthAddress: string; appId: number; appVersion: number; abilityIpfsCids: string[]; policyIpfsCids: string[][]; policyParams: PermissionData; }) => Promise<{ txHash: null; skipped: boolean; } | { txHash: string; skipped?: undefined; }>; export declare const createValidateAbilityExecutionFunction: (contractClient: ContractClient) => ({ delegateeAddress, pkpEthAddress, abilityIpfsCid, }: { delegateeAddress: string; pkpEthAddress: string; abilityIpfsCid: string; }) => Promise; //# sourceMappingURL=chain-client.d.ts.map