import type { ServicePlatform, ServiceScope } from './service.js';
export type ServiceCommand = {
    command: string;
    args: string[];
};
export type ServiceUnitDefinition = {
    serviceName: string;
    serviceFilePath: string;
    serviceFileContents: string;
};
export type ServiceUnitInput = {
    installId: string;
    scope: ServiceScope;
    launcherPath: string;
    root: string;
    metadataDirectory: string;
    homeDir?: string;
    userId?: number;
};
export declare const resolveServicePlatform: (platform?: NodeJS.Platform) => ServicePlatform;
export declare const getDarwinServiceName: (installId: string) => string;
export declare const getLinuxServiceName: (installId: string) => string;
export declare const renderLaunchdPlist: ({ serviceName, launcherPath, root, metadataDirectory }: Omit<ServiceUnitDefinition, "serviceFilePath" | "serviceFileContents"> & {
    launcherPath: string;
    root: string;
    metadataDirectory: string;
}) => string;
export declare const renderSystemdUnit: ({ serviceName, launcherPath, root }: Omit<ServiceUnitDefinition, "serviceFilePath" | "serviceFileContents"> & {
    launcherPath: string;
    root: string;
}) => string;
export declare const createDarwinServiceDefinition: ({ installId, scope, launcherPath, root, metadataDirectory, homeDir }: ServiceUnitInput) => ServiceUnitDefinition;
export declare const createLinuxServiceDefinition: ({ installId, scope, launcherPath, root, homeDir }: ServiceUnitInput) => ServiceUnitDefinition;
export declare const getDarwinInstallCommands: (definition: ServiceUnitDefinition, scope: ServiceScope, userId?: number) => ServiceCommand[];
export declare const getDarwinRestartCommands: (definition: ServiceUnitDefinition, scope: ServiceScope, userId?: number) => ServiceCommand[];
export declare const getDarwinUninstallCommands: (definition: ServiceUnitDefinition, scope: ServiceScope, userId?: number) => ServiceCommand[];
export declare const getLinuxInstallCommands: (definition: ServiceUnitDefinition, scope: ServiceScope) => ServiceCommand[];
export declare const getLinuxRestartCommands: (definition: ServiceUnitDefinition, scope: ServiceScope) => ServiceCommand[];
export declare const getLinuxUninstallCommands: (definition: ServiceUnitDefinition, scope: ServiceScope) => ServiceCommand[];
