/**
 * Deployment Registration
 *
 * Scans deployed agent and skill directories, extracts metadata from frontmatter,
 * and registers them in the extension registry for discovery.
 *
 * @implements #56, #57
 * @architecture @.aiwg/architecture/unified-extension-schema.md
 * @tests @test/unit/extensions/deployment-registration.test.ts
 */
import type { Extension } from './types.js';
import type { ExtensionRegistry } from './registry.js';
/**
 * Registration options
 */
export interface RegistrationOptions {
    /** Path to deployed agents directory */
    agentsPath?: string;
    /** Path, or paths, to deployed skills directories */
    skillsPath?: string | string[];
    /** Path to deployed commands directory */
    commandsPath?: string;
    /** Path to deployed rules directory */
    rulesPath?: string;
    /**
     * Path to deployed behaviors directory.
     * For OpenClaw: ~/.openclaw/behaviors/ (native).
     * For Claude Code: .claude/hooks/ (emulated).
     * Empty string means behaviors are aggregated (e.g., Warp's WARP.md) or not supported.
     *
     * @implements #609
     */
    behaviorsPath?: string;
    /** Provider platform name */
    provider: string;
    /** Working directory for relative path resolution */
    cwd?: string;
}
/**
 * Scan deployed agents directory
 *
 * Reads agent markdown files from the deployed directory and creates Extension
 * objects with metadata extracted from frontmatter.
 *
 * @param agentsPath - Path to .claude/agents or equivalent
 * @param provider - Provider platform name
 * @param cwd - Working directory for relative path resolution
 * @returns Array of agent extensions
 */
export declare function scanDeployedAgents(agentsPath: string, provider: string, cwd?: string): Promise<Extension[]>;
/**
 * Scan deployed skills directory
 *
 * Reads skill directories from the deployed directory and creates Extension
 * objects with metadata extracted from skill.md files.
 *
 * @param skillsPath - Path to .claude/skills or equivalent
 * @param provider - Provider platform name
 * @param cwd - Working directory for relative path resolution
 * @returns Array of skill extensions
 */
export declare function scanDeployedSkills(skillsPath: string, provider: string, cwd?: string): Promise<Extension[]>;
/**
 * Scan deployed behaviors directory
 *
 * Reads behavior directories from the deployed path and creates Extension objects
 * with metadata extracted from BEHAVIOR.md frontmatter.
 *
 * Behaviors are directories containing a BEHAVIOR.md file and optionally a scripts/
 * subdirectory. On OpenClaw this is the native format; on other providers behaviors
 * are emulated via hook wrappers or session injection.
 *
 * @param behaviorsPath - Path to deployed behaviors directory (e.g., ~/.openclaw/behaviors/)
 * @param provider - Provider platform name
 * @param cwd - Working directory for relative path resolution
 * @returns Array of behavior extensions
 *
 * @implements #609
 */
export declare function scanDeployedBehaviors(behaviorsPath: string, provider: string, cwd?: string): Promise<Extension[]>;
/**
 * Register deployed extensions in the registry
 *
 * Scans deployed agent, skill, and behavior directories, creates Extension objects,
 * and registers them in the provided registry.
 *
 * @param registry - Extension registry to populate
 * @param options - Registration options
 *
 * @example
 * ```typescript
 * import { getRegistry } from './registry.js';
 * import { registerDeployedExtensions } from './deployment-registration.js';
 *
 * const registry = getRegistry();
 * await registerDeployedExtensions(registry, {
 *   agentsPath: '.claude/agents',
 *   skillsPath: '.claude/skills',
 *   provider: 'claude',
 * });
 *
 * // Now list all deployed agents
 * const agents = registry.getByType('agent');
 * console.log(`Deployed ${agents.length} agents`);
 * ```
 */
export declare function registerDeployedExtensions(registry: ExtensionRegistry, options: RegistrationOptions): Promise<void>;
//# sourceMappingURL=deployment-registration.d.ts.map