export interface Trait {
    /** Unique identifier — lowercase alphanumeric + hyphens */
    name: string;
    /** Human-readable display label */
    label: string;
    /** Short tooltip for UI (one line) */
    description: string;
    /** 1-2 sentences injected into system prompt */
    promptFragment: string;
    createdAt: number;
    updatedAt: number;
}
/**
 * File-backed trait store. Each trait is a YAML file in traits/<name>.yaml
 * at the repo root. Version controlled — edits via the UI write back
 * to the same files so they can be committed.
 */
export declare class TraitStore {
    private traits;
    constructor();
    private traitFilePath;
    private loadAll;
    private saveOne;
    put(trait: Trait): void;
    get(name: string): Trait | undefined;
    remove(name: string): void;
    /** Re-read all YAML files from disk, picking up external changes */
    reload(): void;
    getAll(): Trait[];
    update(name: string, updates: Partial<Omit<Trait, "name" | "createdAt">>): boolean;
}
//# sourceMappingURL=trait-store.d.ts.map