import type { FilesystemDB } from '../../filesystem-db.js';
import type { StorageSkillType, StorageCreateSkillInput, StorageUpdateSkillInput, StorageListSkillsInput, StorageListSkillsOutput } from '../../types.js';
import type { SkillVersion, CreateSkillVersionInput, ListSkillVersionsInput, ListSkillVersionsOutput } from './base.js';
import { SkillsStorage } from './base.js';
export declare class FilesystemSkillsStorage extends SkillsStorage {
    private helpers;
    constructor({ db }: {
        db: FilesystemDB;
    });
    init(): Promise<void>;
    dangerouslyClearAll(): Promise<void>;
    getById(id: string): Promise<StorageSkillType | null>;
    create(input: {
        skill: StorageCreateSkillInput;
    }): Promise<StorageSkillType>;
    update(input: StorageUpdateSkillInput): Promise<StorageSkillType>;
    delete(id: string): Promise<void>;
    list(args?: StorageListSkillsInput): Promise<StorageListSkillsOutput>;
    createVersion(input: CreateSkillVersionInput): Promise<SkillVersion>;
    getVersion(id: string): Promise<SkillVersion | null>;
    getVersionByNumber(skillId: string, versionNumber: number): Promise<SkillVersion | null>;
    getLatestVersion(skillId: string): Promise<SkillVersion | null>;
    listVersions(input: ListSkillVersionsInput): Promise<ListSkillVersionsOutput>;
    deleteVersion(id: string): Promise<void>;
    deleteVersionsByParentId(entityId: string): Promise<void>;
    countVersions(skillId: string): Promise<number>;
}
//# sourceMappingURL=filesystem.d.ts.map