import { type Exec } from '../exec.js'; export declare const WEB_SYSTEMD_UNIT = "ours-fleet-web.service"; export declare const WEB_LAUNCHD_LABEL = "network.ours.fleet.web"; interface ServiceMetadata { version: 3; platform: 'linux' | 'darwin'; runtime: string; script: string; port: number; configuration?: string; bind?: string; publicOrigin?: string; } export interface WebServiceOptions { platform?: NodeJS.Platform; exec?: Exec; homeDir?: string; stateDir?: string; uid?: number; runtimeExecutable?: string; } export declare class WebServiceManager { private readonly platform; private readonly exec; private readonly homeDir; private readonly stateDir; private readonly uid; private readonly runtimeExecutable; constructor(options?: WebServiceOptions); get metadataPath(): string; get definitionPath(): string; install(script: string, port?: number, configuration?: string, web?: { bind?: string; publicOrigin?: string; }): Promise; start(): Promise; stop(): Promise; restart(): Promise; status(): Promise; uninstall(): Promise; readMetadata(): ServiceMetadata | undefined; private requireInstalled; private must; } export declare function systemdUnit(runtime: string, script: string, port: number, configuration?: string, web?: { bind?: string; publicOrigin?: string; }): string; export declare function launchdPlist(runtime: string, script: string, port: number, configuration?: string, web?: { bind?: string; publicOrigin?: string; }): string; export {};