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"];
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<Record<SupportedHookName, string[]>>;
}
/**
 * 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/<dirname>` or `~/.local/share/<dirname>`
 * on POSIX; `$LOCALAPPDATA\<dirname>` on Windows.
 */
export declare function resolveOclifDataDir(dirname?: string): string;
/**
 * Discovers installed b2c-cli plugins by reading the oclif data directory.
 *
 * Reads `<dataDir>/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 {};
