export interface GoalArtifact {
    id: string;
    goalId: string;
    name: string;
    type: string;
    content: string;
    producedBy: string;
    skillId?: string;
    specId?: string;
    /** Links to a workflow artifact definition within the goal's workflow snapshot */
    workflowArtifactId?: string;
    /** Result of automated verification steps */
    verificationResult?: {
        steps: Array<{
            name: string;
            type: string;
            passed: boolean;
            output: string;
        }>;
    };
    /** Reason the artifact was rejected during verification */
    rejectionReason?: string;
    status?: "submitted" | "accepted" | "rejected";
    version: number;
    createdAt: number;
    updatedAt: number;
}
export declare class GoalArtifactStore {
    private artifacts;
    constructor();
    private load;
    private save;
    create(artifact: Omit<GoalArtifact, "id" | "version" | "createdAt" | "updatedAt">): GoalArtifact;
    get(id: string): GoalArtifact | undefined;
    getByGoalId(goalId: string): GoalArtifact[];
    update(id: string, updates: Partial<Pick<GoalArtifact, "name" | "type" | "content" | "skillId" | "status" | "workflowArtifactId" | "verificationResult" | "rejectionReason">>): GoalArtifact | undefined;
    delete(id: string): boolean;
}
//# sourceMappingURL=goal-artifact-store.d.ts.map