import type { AdditionalLaunchdLogInspection, AdditionalLaunchdLogMaintenanceResult, ManagedLaunchdLogMonitor } from "./background-log-maintenance.js"; import type { LaunchdLogInspection } from "./launchd-logs.js"; import type { LaunchctlRunner, LaunchdPaths } from "./launchd.js"; type WebLogPaths = Pick; export type ManagedWebLogMonitorOutcome = "idle" | "cooldown" | "stopped" | "helper-unloaded" | "helper-running" | "requested" | "request-failed" | "inspection-failed"; export interface ManagedWebLogMonitorStatus { readonly version: 1; readonly lastInspectionAt: string; readonly wakeCount: number; readonly lastOutcome: ManagedWebLogMonitorOutcome; readonly cooldownDeadline: string; } export interface ManagedWebLogMonitorDependencies { readonly runner: LaunchctlRunner; readonly getuid: () => number; readonly inspectLogs?: (paths: WebLogPaths) => Promise; readonly inspectLegacy?: (paths: WebLogPaths) => Promise; readonly stderr: (text: string) => void | Promise; readonly recordStatus?: (status: ManagedWebLogMonitorStatus) => void | Promise; readonly monotonicNow?: () => number; readonly wallClockNow?: () => number; readonly isStopped?: () => boolean; } /** * The managed worker only inspects and wakes the dedicated helper. It never * stops itself and never rotates, renames, truncates, or unlinks a log. */ export declare function startManagedWebLogMonitor(paths: WebLogPaths, deps: ManagedWebLogMonitorDependencies): ManagedLaunchdLogMonitor; /** Bounded inspection of only the two retired pre-helper filename families. */ export declare function inspectLegacyManagedWebLogArtifacts(paths: WebLogPaths): Promise; /** Remove only re-authenticated safe legacy artifacts after stopped-writer proof. */ export declare function maintainLegacyManagedWebLogArtifacts(paths: WebLogPaths): Promise; export {}; //# sourceMappingURL=managed-web-logs.d.ts.map