/**
 * Filesystem-only extension discovery (manifest parse, no module load).
 */
import type { DiscoveredExtension } from './types/loader.js';
/** App config slice used for discovery (any loaded config shape). */
export type DiscoverConfig = Record<string, unknown>;
export type ExtensionSourceOrigin = 'workspace' | 'global' | 'bundled' | 'config';
export interface ExtensionLoaderOptions {
    workspaceDir?: string;
    extensionsDir?: string;
    workspaceExtensionsDir?: string;
    bundledExtensions?: string[];
}
/**
 * Discover extensions from workspace, global, and bundled tiers without loading code.
 */
export declare function discoverExtensionsFromDisk(options?: ExtensionLoaderOptions, config?: DiscoverConfig): DiscoveredExtension[];
/** True when extension discovery/load should be skipped entirely. */
export declare function areExtensionsGloballyDisabled(config?: DiscoverConfig): boolean;
