import type { CustomSkill, CustomSkillListItem } from "shared/types/index.js";
/** Plugin name — skills surface as `callboard:<name>` in both chat paths. */
export declare const CUSTOM_SKILLS_PLUGIN_NAME = "callboard";
/** Kebab-case a display name into a skill/directory name. Throws if nothing usable remains. */
export declare function slugifySkillName(name: string): string;
declare class CustomSkillsService {
    listSkills(): CustomSkillListItem[];
    getSkill(name: string): CustomSkill | null;
    createSkill(input: {
        name: string;
        description: string;
        content: string;
    }): CustomSkill;
    updateSkill(name: string, updates: {
        name?: string;
        description?: string;
        content?: string;
    }): CustomSkill;
    deleteSkill(name: string): void;
    /**
     * Plugin directory to inject into chat sessions, or null when no skills
     * exist (so empty installs add nothing to the plugin surface).
     */
    getPluginDir(): string | null;
    /** `callboard:<name>` invocation strings for slash-command listings. */
    listSlashCommands(): string[];
}
export declare const customSkillsService: CustomSkillsService;
export {};
//# sourceMappingURL=custom-skills-service.d.ts.map