export interface SkillSummary {
    name: string;
    description: string;
    location: string;
    source: "user" | "project";
    createdBy?: "agent" | "user";
}
export interface SkillManagerOptions {
    agentDir: string;
    cwd: string;
}
export interface SkillUsageRecord {
    createdBy: "agent" | "user";
    createdAt: string;
    updatedAt: string;
    lastUsedAt?: string;
    lastViewedAt?: string;
    useCount?: number;
    viewCount?: number;
    patchCount?: number;
    pinned?: boolean;
    archivedAt?: string;
    restoredAt?: string;
}
export declare class SkillManager {
    readonly userSkillsDir: string;
    readonly projectSkillsDir: string;
    constructor(options: SkillManagerOptions);
    list(): SkillSummary[];
    view(nameOrPath: string): string;
    create(name: string, content: string, description?: string): SkillSummary;
    patch(name: string, oldText: string, newText: string): SkillSummary;
    edit(name: string, content: string): SkillSummary;
    writeFile(skillName: string, relativePath: string, content: string): string;
    removeFile(skillName: string, relativePath: string): string;
    archive(name: string): string;
    restore(name: string): string;
    setPinned(name: string, pinned: boolean): SkillUsageRecord;
    recordUseByPath(filePath: string): void;
    readUsageForSkill(name: string): SkillUsageRecord | undefined;
    readUsageForRoot(root: string): SkillUsageRecord | undefined;
    private listDir;
    private summaryFromSkillFile;
    private resolveSkillFile;
    private resolveManagedPath;
    private usagePath;
    private readUsage;
    private writeUsage;
    private touchUsage;
    private recordUse;
    private recordView;
    private findSkillRoot;
}
//# sourceMappingURL=skill-manager.d.ts.map