export declare const SYSTEMD_SERVICE_NAME = "pi-tag-slack.service"; export declare const LAUNCHD_LABEL = "com.stayradiated.pi-tag-slack"; export type DaemonStatus = 'not-installed' | 'stopped' | 'running'; type CommandResult = { status: number | null; stdout: string; stderr: string; error?: Error; }; type CommandOptions = { allowFailure?: boolean; capture?: boolean; }; export interface DaemonDependencies { platform: string; homeDirectory: string; uid: number; nodePath: string; cliPath: string; pathEnvironment: string; configPath: string; dataDir: string; exists(path: string): boolean; mkdir(path: string): void; writeFile(path: string, content: string): void; remove(path: string): void; run(command: string, args: string[], options?: CommandOptions): CommandResult; } /** Real OS bindings live here so service lifecycle behavior is fully injectable. */ export declare function systemDaemonDependencies(): DaemonDependencies; export declare function daemon(action: string, dependencies?: DaemonDependencies): DaemonStatus | void; export declare function systemdUnit(deps: Pick): string; export declare function launchdPlist(deps: Pick): string; export {};