import { SmrtCollection, SmrtObject } from '@happyvertical/smrt-core'; import { ServiceEvidence, ServiceParticipantKind, ServiceTimeEntrySource, ServiceTimeEntryStatus } from '../types.js'; /** * Canonical Professional Service evidence shared by planning, development, * and support. Commercial snapshots are deliberately separate models. */ export declare class ServiceTimeEntry extends SmrtObject { 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: string; status: ServiceTimeEntryStatus; submittedAt: Date | null; submittedByProfileId: string | null; approvedAt: Date | null; approvedByProfileId: string | null; approvalPath: string; rejectedAt: Date | null; rejectedByProfileId: string | null; rejectionReason: string; correctionOfId: string | null; metadata: string; getEvidence(): ServiceEvidence[]; setEvidence(value: ServiceEvidence[]): void; getMetadata(): Record; setMetadata(value: Record): void; durationHours(): number; initialize(): Promise; save(): Promise; private readPrior; } export declare class ServiceChargeSnapshot extends SmrtObject { tenantId: string | null; timeEntryId: string; /** * Client charge in **integer minor units** of {@link currency} — `$19.99` is * `1999`. The `= 0` initializer is load-bearing: SMRT maps an integer literal * to INTEGER and a decimal literal to DECIMAL (#2401). * * Copied verbatim from the upstream `ClientCharge.amount`, so the two carry * the same unit by construction; a split would land cents in a major-units * column with no error anywhere. */ amount: number; currency: string; pricingVersion: string; strategy: string; rateSnapshot: string; sourceChargeRef: string; createdAt: Date; initialize(): Promise; save(): Promise; } export declare class ServiceCompensationSnapshot extends SmrtObject { tenantId: string | null; timeEntryId: string; /** * Provider earning in **integer minor units** of {@link currency} (#2401). * * Converts with {@link ServiceChargeSnapshot.amount}: the delivery margin is * `charge - compensation`, so a mixed pair would make that subtraction * meaningless. */ amount: number; currency: string; termsVersion: string; rateSnapshot: string; createdAt: Date; initialize(): Promise; save(): Promise; } export declare class ServiceTimeEntryCollection extends SmrtCollection { static readonly _itemClass: typeof ServiceTimeEntry; forWork(workRefType: string, workRefId: string): Promise; forCase(caseId: string): Promise; forSpecialist(specialistId: string): Promise; pendingApproval(): Promise; } export declare class ServiceChargeSnapshotCollection extends SmrtCollection { static readonly _itemClass: typeof ServiceChargeSnapshot; } export declare class ServiceCompensationSnapshotCollection extends SmrtCollection { static readonly _itemClass: typeof ServiceCompensationSnapshot; } //# sourceMappingURL=service-evidence.d.ts.map