export interface ServiceRestartPolicy { onFailure: boolean; delaySeconds: number; maxRetries: number; } export interface ServiceLogConfig { dir: string; maxSizeMb: number; keepFiles: number; } export interface ServiceConfig { name: string; description?: string | undefined; user: string; workingDir: string; script?: string | undefined; args: string[]; env: Record; restart: ServiceRestartPolicy; log?: ServiceLogConfig | undefined; } export type ServiceStatusState = "running" | "stopped" | "error" | "unknown"; export interface ServiceStatus { name: string; status: ServiceStatusState; pid?: number | undefined; uptimeSeconds?: number | undefined; restartCount?: number | undefined; } export type ServiceScope = "system" | "user"; export interface ServiceInfo extends ServiceStatus { platform: string; scope: ServiceScope; unitPath?: string | undefined; configPath?: string | undefined; logDir?: string | undefined; installedAt: string; } export interface ServiceInstallResult { installed: boolean; name: string; platform: string; scope: ServiceScope; unitPath?: string | undefined; status: string; pid?: number | undefined; portsListening?: number[] | undefined; } export interface LogOptions { lines: number; follow: boolean; } export interface InstallOptions { user?: boolean | undefined; scheduler?: boolean | undefined; } export interface ServiceManager { install(config: ServiceConfig, opts?: InstallOptions | undefined): Promise; uninstall(name: string): Promise; start(name: string): Promise; stop(name: string): Promise; restart(name: string): Promise; status(name: string): Promise; logs(name: string, opts: LogOptions): Promise; list(): Promise; } //# sourceMappingURL=types.d.ts.map