import { PublicKey } from '@metaplex-foundation/umi'; import { ExtraAccount } from './extraAccount'; import { BaseLinkedLifecycleHook, BaseLinkedLifecycleHookInitInfoArgs, BaseLinkedLifecycleHookUpdateInfoArgs, 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 LinkedLifecycleHook = Omit & { extraAccounts?: Array; dataAuthority?: PluginAuthority; data?: any; }; export type LinkedLifecycleHookPlugin = BaseExternalPluginAdapter & LinkedLifecycleHook & { type: 'LinkedLifecycleHook'; hookedProgram: PublicKey; }; export type LinkedLifecycleHookInitInfoArgs = Omit & { type: 'LinkedLifecycleHook'; initPluginAuthority?: PluginAuthority; lifecycleChecks: LifecycleChecks; schema?: ExternalPluginAdapterSchema; extraAccounts?: Array; dataAuthority?: PluginAuthority; }; export type LinkedLifecycleHookUpdateInfoArgs = Omit & { key: ExternalPluginAdapterKey; lifecycleChecks?: LifecycleChecks; extraAccounts?: Array; schema?: ExternalPluginAdapterSchema; }; export declare function linkedLifecycleHookInitInfoArgsToBase(l: LinkedLifecycleHookInitInfoArgs): BaseLinkedLifecycleHookInitInfoArgs; export declare function linkedLifecycleHookUpdateInfoArgsToBase(l: LinkedLifecycleHookUpdateInfoArgs): BaseLinkedLifecycleHookUpdateInfoArgs; export declare function linkedLifecycleHookFromBase(s: BaseLinkedLifecycleHook, r: ExternalRegistryRecord, account: Uint8Array): LinkedLifecycleHook; export declare const linkedLifecycleHookManifest: ExternalPluginAdapterManifest;