import type { Logger } from '../logging/types.js'; /** * Hook names that the plugin system supports. */ declare const SUPPORTED_HOOKS: readonly ["b2c:config-sources", "b2c:http-middleware", "b2c:auth-middleware"]; /** * Union type of all supported hook names in the plugin system. * * Represents any of the hook names that the plugin discovery system recognizes: * `b2c:config-sources`, `b2c:http-middleware`, or `b2c:auth-middleware`. */ export type SupportedHookName = (typeof SUPPORTED_HOOKS)[number]; /** * A discovered plugin with its hook file paths. */ export interface DiscoveredPlugin { /** Plugin package name */ name: string; /** Absolute path to the plugin's package directory */ packageDir: string; /** Map of hook name to relative file path(s) within the plugin package */ hooks: Partial>; } /** * Options for plugin discovery. */ export interface PluginDiscoveryOptions { /** Override the oclif data directory (for testing) */ dataDir?: string; /** Override the dirname used to resolve the data directory (default: 'b2c') */ dirname?: string; /** Logger for warnings */ logger?: Logger; } /** * Resolves the oclif data directory for the CLI. * * Cross-platform: uses `$XDG_DATA_HOME/` or `~/.local/share/` * on POSIX; `$LOCALAPPDATA\` on Windows. */ export declare function resolveOclifDataDir(dirname?: string): string; /** * Discovers installed b2c-cli plugins by reading the oclif data directory. * * Reads `/package.json` -> `oclif.plugins` array -> each plugin's * `package.json` -> `oclif.hooks` -> returns `DiscoveredPlugin[]`. * * Only hooks matching `b2c:config-sources`, `b2c:http-middleware`, and * `b2c:auth-middleware` are included. */ export declare function discoverPlugins(options?: PluginDiscoveryOptions): DiscoveredPlugin[]; export {};