import { type CorrectiveActionRecord, type GraphTriple, type SafetyIssueReference } from "./corrective-action-storage.js";
declare const REPORT_CONTEXT: {
    readonly safety: "https://safety.ratelworks.org/ontology/v1/";
    readonly cc: "https://construction.ratelworks.org/ontology/v1/";
    readonly schema: "https://schema.org/";
    readonly prov: "http://www.w3.org/ns/prov#";
};
export type SafetyReportPeriod = "weekly" | "monthly";
export interface GenerateSafetyReportInput {
    siteId?: string;
    period: SafetyReportPeriod;
    startDate: string;
    endDate: string;
}
export interface SafetyReportStats {
    issueCount: number;
    issuesBySeverity: Record<string, number>;
    actionCount: number;
    completedActionCount: number;
    pendingActionCount: number;
    photoCount: number;
    legalReferenceCount: number;
}
export interface SafetyReportRecord {
    "@context": typeof REPORT_CONTEXT;
    "@id": string;
    "@type": "safety:SafetyReport";
    reportId: string;
    iri: string;
    siteId?: string;
    period: SafetyReportPeriod;
    startDate: string;
    endDate: string;
    generatedAt: string;
    note: string;
    markdown: string;
    stats: SafetyReportStats;
    issues: SafetyIssueReference[];
    actions: CorrectiveActionRecord[];
    photoEvidence: string[];
    legalReferences: string[];
    graphChain: GraphTriple[];
    jsonPath: string;
    markdownPath: string;
}
export interface SafetyReportSummary {
    reportId: string;
    iri: string;
    siteId?: string;
    period: SafetyReportPeriod;
    startDate: string;
    endDate: string;
    generatedAt: string;
    stats: SafetyReportStats;
    jsonPath: string;
    markdownPath: string;
}
export interface ListSafetyReportsFilter {
    siteId?: string;
    period?: SafetyReportPeriod;
}
export declare function getReportsDir(): string;
export declare function toSafetyReportIri(reportId: string): string;
export declare function generateSafetyReport(input: GenerateSafetyReportInput): Promise<SafetyReportRecord>;
export declare function listSafetyReports(filter?: ListSafetyReportsFilter): Promise<SafetyReportSummary[]>;
export {};
//# sourceMappingURL=safety-report-storage.d.ts.map