interface SdkCapabilities {
    /** api.on("before_prompt_build", ...) is available */
    hasBeforePromptBuild: boolean;
    /** api.registerMemoryPromptSection() exists */
    hasRegisterMemoryPromptSection: boolean;
    /** api.registerMemoryCapability() exists (new SDK >=2026.4.5) */
    hasRegisterMemoryCapability: boolean;
    /** definePluginEntry from openclaw/plugin-sdk/plugin-entry is importable */
    hasDefinePluginEntry: boolean;
    /** api.runtime.* namespace exists */
    hasRuntimeNamespace: boolean;
    /** api.registrationMode is present */
    hasRegistrationMode: boolean;
    /** Hooks receive typed event/context objects */
    hasTypedHooks: boolean;
    /** Detected SDK version string, or "legacy" */
    sdkVersion: string;
    /** api.registrationMode value when present */
    registrationMode: "full" | "setup-only" | "setup-runtime" | undefined;
}
declare function detectSdkCapabilities(api: Record<string, unknown>): SdkCapabilities;

export { type SdkCapabilities, detectSdkCapabilities };
