import type { IncomingMessage, ServerResponse } from "node:http";
import type { Router } from "./router.js";
export type CreateSkillMode = "standalone" | "existing-plugin" | "new-plugin";
export interface CreateSkillRequestBody {
    mode: CreateSkillMode;
    skillName: string;
    description?: string;
    pluginName?: string;
}
export interface CreateSkillResponse {
    ok: true;
    mode: CreateSkillMode;
    skillName: string;
    pluginName: string | null;
    skillPath: string;
    skillMdPath: string;
    manifestPath: string | null;
}
export declare function validateKebabName(value: string | undefined, field: string): string | null;
export declare function skillMdScaffold(skillName: string, description: string): string;
export declare function pluginJsonScaffold(pluginName: string, description: string): string;
export declare function makeCreateSkillHandler(root: string): (req: IncomingMessage, res: ServerResponse) => Promise<void>;
export declare function makeSkillExistsHandler(root: string): (req: IncomingMessage, res: ServerResponse) => Promise<void>;
export declare function makeConvertToPluginHandler(root: string): (req: IncomingMessage, res: ServerResponse) => Promise<void>;
export declare function registerAuthoringRoutes(router: Router, root: string): void;
