export type PortConflictStrategy = "error" | "prompt" | "kill" | "next";
export type PortConflictDecision = "retry" | "kill" | "next" | "abort";
export interface PortConflictDetails {
    occupied: boolean;
    pid?: number;
    command?: string;
    source?: string;
}
export interface PortConflictRequest {
    host?: string;
    port: number;
    details: PortConflictDetails;
}
export interface ResolvePortConflictOptions {
    host?: string;
    port: number;
    strategy: PortConflictStrategy;
    interactive?: boolean;
    requestDecision?: (request: PortConflictRequest) => Promise<PortConflictDecision>;
}
export interface PortConflictResolution {
    port: number;
    changed: boolean;
    action: "none" | "next" | "kill";
    details?: PortConflictDetails;
}
export declare function normalizePortConflictStrategy(value: string | undefined): PortConflictStrategy;
export declare function isPortOccupied(port: number, host?: string): Promise<boolean>;
export declare function inspectPortConflict(port: number, _host?: string): Promise<PortConflictDetails>;
export declare function killPortOccupant(port: number, host?: string): Promise<PortConflictDetails>;
export declare function findNextAvailablePort(startPort: number, host?: string, maxAttempts?: number): Promise<number>;
export declare function resolvePortConflict(options: ResolvePortConflictOptions): Promise<PortConflictResolution>;
