import Controller from './Controller.js';

 export default class Service {
    constructor(options: { 
        name: string,
        enableRegistry?: boolean = true,
        appRoot: string 
    });

    getName(): string;
    async registerService(): void;
    registerController(controller: Controller): void;
    async initialize(): Promise<void>;
    async load(port: number): Promise<void>;
    async loadControllers(): Promise<void>;
    private compileURLPattern(): void;
    async end(): Promise<void>;
    getRootDir(): string;
    getPort(): number;
    private async creatServer(): Promise<void>;
    private async loadConfig(): Promise<void>;
    getConfig(): any;
    getHTTPClient(): any;
 }