declare const REMNIC_OPENCLAW_PLUGIN_ID: "openclaw-remnic"; interface OpenclawCommandOptions { timeoutMs: number; } type OpenclawCommandRunner = (args: readonly string[], options: OpenclawCommandOptions) => string; declare function assertDirectoryPathOrMissing(targetPath: string, label: string): void; declare function describeErrorWithCause(error: unknown): string; declare class PublishedOpenclawPluginInstallError extends Error { readonly managedRestoreNote?: string; readonly managedRollbackDir?: string; readonly managedRollbackTargetDir?: string; readonly requiresHostManagedRestore: boolean; readonly rollbackDir?: string; readonly shouldRestoreBackup: boolean; readonly shouldRestoreConfig: boolean; constructor(message: string, options?: ErrorOptions & { managedRestoreNote?: string; managedRollbackDir?: string; managedRollbackTargetDir?: string; requiresHostManagedRestore?: boolean; rollbackDir?: string; shouldRestoreBackup?: boolean; shouldRestoreConfig?: boolean; }); } declare function installPublishedOpenclawPlugin(spec: string, pluginDir: string, managedTargetDir: string, runOpenclaw: OpenclawCommandRunner): { managedRollbackDir?: string; managedRollbackTargetDir?: string; requiresHostManagedRestore: boolean; rollbackDir?: string; rollbackManagedInstall: () => string | undefined; version?: string; }; export { type OpenclawCommandOptions, type OpenclawCommandRunner, PublishedOpenclawPluginInstallError, REMNIC_OPENCLAW_PLUGIN_ID, assertDirectoryPathOrMissing, describeErrorWithCause, installPublishedOpenclawPlugin };