/**
 * Registry integration — npm search API + local package scanning.
 *
 * Uses the npm registry search endpoint filtered by the
 * `flow-weaver-marketplace-pack` keyword for discovery, and scans
 * `node_modules/` for locally installed packages.
 */
import type { TMarketplaceManifest, TMarketplacePackageInfo, TInstalledPackage, TManifestTagHandler, TManifestValidationRuleSet, TManifestDocTopic, TManifestInitContribution } from './types.js';
export interface SearchOptions {
    /** Search query text */
    query?: string;
    /** Maximum number of results (default: 20) */
    limit?: number;
    /** Custom registry search URL (default: public npm registry). Supports private registries like Verdaccio, GitHub Packages, etc. */
    registryUrl?: string;
}
/**
 * Search the npm registry for marketplace packages.
 */
export declare function searchPackages(options?: SearchOptions): Promise<TMarketplacePackageInfo[]>;
/**
 * Scan node_modules for installed marketplace packages by looking for
 * `flowweaver.manifest.json` files in matching package directories.
 */
export declare function listInstalledPackages(projectDir: string): Promise<TInstalledPackage[]>;
/**
 * Read the manifest for a specific installed package.
 */
export declare function getInstalledPackageManifest(projectDir: string, packageName: string): TMarketplaceManifest | null;
export type TDiscoveredTagHandler = TManifestTagHandler & {
    /** Absolute path to the handler module */
    absoluteFile: string;
    /** Package name this handler belongs to */
    packageName: string;
};
export type TDiscoveredValidationRuleSet = TManifestValidationRuleSet & {
    /** Absolute path to the rule set module */
    absoluteFile: string;
    /** Package name this rule set belongs to */
    packageName: string;
};
export type TDiscoveredDocTopic = TManifestDocTopic & {
    /** Absolute path to the markdown file */
    absoluteFile: string;
    /** Package name this doc belongs to */
    packageName: string;
};
export type TDiscoveredInitContribution = TManifestInitContribution & {
    /** Package name this contribution belongs to */
    packageName: string;
};
/** A device handler entry point discovered from an installed pack manifest. */
export type TDiscoveredDeviceHandler = {
    /** npm package name */
    packageName: string;
    /** Absolute path to the installed package */
    packagePath: string;
    /** Absolute path to the device handler entrypoint module */
    entrypoint: string;
};
/**
 * Discover all tag handlers from installed pack manifests.
 */
export declare function discoverTagHandlers(projectDir: string): Promise<TDiscoveredTagHandler[]>;
/**
 * Discover all validation rule sets from installed pack manifests.
 */
export declare function discoverValidationRuleSets(projectDir: string): Promise<TDiscoveredValidationRuleSet[]>;
/**
 * Discover all doc topics from installed pack manifests.
 */
export declare function discoverDocTopics(projectDir: string): Promise<TDiscoveredDocTopic[]>;
/**
 * Discover all init contributions from installed pack manifests.
 */
export declare function discoverInitContributions(projectDir: string): Promise<TDiscoveredInitContribution[]>;
/**
 * Discover all device handler entry points from installed pack manifests.
 *
 * Returns packs that declare a `deviceHandlers` field in their manifest,
 * resolved to an absolute entrypoint path.
 */
export declare function discoverDeviceHandlers(projectDir: string): Promise<TDiscoveredDeviceHandler[]>;
//# sourceMappingURL=registry.d.ts.map