import { Config, RpcMethod as ExtensionMethod } from "./rpc.interface"; import { DynamicSchema as ExtensionSchema } from "./schema.interface"; export type ExtensionStatus = "active" | "inactive" | "error"; export interface ExtensionConfig extends Config { enabled: boolean; [key: string]: unknown; } export interface ExtensionMetadata { name: string; version: string; description: string; author?: string; dependencies?: string[]; [key: string]: unknown; } export { RpcMethod as ExtensionMethod } from "./rpc.interface"; export { DynamicSchema as ExtensionSchema } from "./schema.interface"; export interface Extension { name: string; status: ExtensionStatus; config: ExtensionConfig; metadata: ExtensionMetadata; methods: Record; validate?: (params: unknown) => Promise<{ valid: boolean; message?: string; }>; schema?: ExtensionSchema; }