import { Taon__NS__Response } from 'taon/lib-prod';
import { TaonBaseCliWorkerController } from '../classes/base-cli-worker';
import { Port, PortStatus } from './ports.entity';
export declare class TaonPortsController extends TaonBaseCliWorkerController {
    START_PORT: number;
    END_PORT: number;
    readonly portsCache: Map<string, Port>;
    protected get firstFreePort(): Port | null | undefined;
    protected firstUnassignedPortMoreThan(port: number): Port;
    getFirstFreePort(): Taon__NS__Response<Port>;
    getPortByNumber(portNumber: number): Taon__NS__Response<Port>;
    getPortsByStatus(status: PortStatus): Taon__NS__Response<Port[]>;
    /**
     * make it unassigned
     */
    deletePort(portNumber: number): Taon__NS__Response<Port>;
    /**
     * make it unassigned
     */
    updatePortUniqueId(portNumber: number, serviceId: string): Taon__NS__Response<Port>;
    addTakeByOsPort(portNumber: number, uniqueId: string): Taon__NS__Response<Port>;
    /**
     * @param uniqueServiceName unique service name
     * @param startFrom start searching for free port from this number
     * @returns
     */
    registerAndAssignPort(uniqueServiceName: string, startFrom?: number): Taon__NS__Response<Port>;
}
