import type { AgentbuddySource } from '../core/skills/sources.js'; import type { SkillPackage } from '../core/skills/types.js'; import type { SkillSourceDiscovery } from '../services/skill-registry-store.js'; export type DashboardSkillInstallRequest = { kind: 'local'; value: string; link: boolean; skillNames: string[]; all: boolean; fullDepth: boolean; } | { kind: 'git'; url: string; path?: string; ref?: string; skillNames: string[]; all: boolean; fullDepth: boolean; } | { kind: 'github'; owner: string; repo: string; path?: string; ref?: string; skillNames: string[]; all: boolean; fullDepth: boolean; } | { kind: 'agentbuddy'; agentbuddy: AgentbuddySource; }; export declare function shouldAutoLinkLocalSkillPath(rawPath: string): boolean; /** Upper bound on a single batch local-link registration. Bounds the inline, * synchronous loadSkillPackage loop (realpath + read per dir) that runs on the * daemon event loop, so a runaway/garbage `sources` array can't stall message * handling. Comfortably above any realistic native-skill count. */ export declare const MAX_LOCAL_LINK_SOURCES = 512; /** Parse + sanitize the `sources` of POST /api/skills/install-local-links: * keep only non-empty trimmed strings, dedup, preserving order. Pure so the * endpoint's validation has a regression guard (the route just maps the result * to sources_required / too_many_sources / install). */ export declare function parseInstallLocalLinksSources(body: unknown): string[]; export declare function parseDashboardSkillInstallRequest(body: Record): DashboardSkillInstallRequest; export declare function discoverDashboardSkills(request: DashboardSkillInstallRequest): Promise; export declare function installDashboardSkill(request: DashboardSkillInstallRequest): Promise; //# sourceMappingURL=skill-install-request.d.ts.map