import { SmrtClassOptions } from '@happyvertical/smrt-core'; import { ServiceChargeSnapshotCollection, ServiceCompensationSnapshotCollection, ServiceTimeEntry, ServiceTimeEntryCollection } from '../models/service-evidence.js'; import { ServiceEvidence, ServiceParticipantKind, ServiceTimeEntrySource } from '../types.js'; export interface RecordServiceTimeInput { tenantId?: string | null; caseId?: string | null; workRefType?: string | null; workRefId?: string | null; specialistId?: string | null; participantKind: ServiceParticipantKind; participantProfileId?: string | null; agentRef?: string; source: ServiceTimeEntrySource; description: string; startedAt?: Date | null; endedAt?: Date | null; durationSeconds?: number; evidence?: ServiceEvidence[]; metadata?: Record; } export interface CommercialSnapshot { /** * Integer minor units of `currency` — `$19.99` is `1999` (#2401). * * Written straight into `ServiceChargeSnapshot.amount` / * `ServiceCompensationSnapshot.amount`, which are INTEGER columns, so a * resolver that returns major units corrupts the snapshot silently on SQLite * and fails with `22P02` on PostgreSQL. */ amount: number; currency?: string; version: string; strategy?: string; terms: Record; sourceRef?: string; } export interface ServiceCommercialResolver { priceClient(entry: ServiceTimeEntry): Promise; compensateProvider(entry: ServiceTimeEntry): Promise; } export declare class ServiceEvidenceService { private readonly entries; private readonly charges; private readonly compensation; private readonly commercial?; constructor(entries: ServiceTimeEntryCollection, charges: ServiceChargeSnapshotCollection, compensation: ServiceCompensationSnapshotCollection, commercial?: ServiceCommercialResolver | undefined); static create(options?: SmrtClassOptions, commercial?: ServiceCommercialResolver): Promise; record(input: RecordServiceTimeInput): Promise; submit(entry: ServiceTimeEntry, profileId?: string): Promise; approve(entry: ServiceTimeEntry, options: { actorProfileId?: string; approvalPath: string; }): Promise; correct(entry: ServiceTimeEntry, input: RecordServiceTimeInput): Promise; } //# sourceMappingURL=service-evidence-service.d.ts.map