import { PublicKey } from '@metaplex-foundation/umi'; import { ExtraAccount } from './extraAccount'; import { BaseLifecycleHook, BaseLifecycleHookInitInfoArgs, BaseLifecycleHookUpdateInfoArgs, ExternalPluginAdapterSchema, ExternalRegistryRecord } from '../generated'; import { LifecycleChecks } from './lifecycleChecks'; import { PluginAuthority } from './pluginAuthority'; import { BaseExternalPluginAdapter } from './externalPluginAdapters'; import { ExternalPluginAdapterManifest } from './externalPluginAdapterManifest'; import { ExternalPluginAdapterKey } from './externalPluginAdapterKey'; export type LifecycleHook = Omit & { extraAccounts?: Array; dataAuthority?: PluginAuthority; data?: any; }; export type LifecycleHookPlugin = BaseExternalPluginAdapter & LifecycleHook & { type: 'LifecycleHook'; hookedProgram: PublicKey; }; export type LifecycleHookInitInfoArgs = Omit & { type: 'LifecycleHook'; initPluginAuthority?: PluginAuthority; lifecycleChecks: LifecycleChecks; schema?: ExternalPluginAdapterSchema; extraAccounts?: Array; dataAuthority?: PluginAuthority; }; export type LifecycleHookUpdateInfoArgs = Omit & { key: ExternalPluginAdapterKey; lifecycleChecks?: LifecycleChecks; extraAccounts?: Array; schema?: ExternalPluginAdapterSchema; }; export declare function lifecycleHookInitInfoArgsToBase(l: LifecycleHookInitInfoArgs): BaseLifecycleHookInitInfoArgs; export declare function lifecycleHookUpdateInfoArgsToBase(l: LifecycleHookUpdateInfoArgs): BaseLifecycleHookUpdateInfoArgs; export declare function lifecycleHookFromBase(s: BaseLifecycleHook, r: ExternalRegistryRecord, account: Uint8Array): LifecycleHook; export declare const lifecycleHookManifest: ExternalPluginAdapterManifest;