import { IServiceLocationProvider } from "../../core/services/ServiceLocator";
import { IServiceManifestProvider } from "../../core/services/ServiceManifestProvider";
import { GuidValue } from "../../models";
export interface LocalHostingInfo {
    [omniaServiceId: string]: LocalOmniaServiceInfo;
}
export interface LocalOmniaServiceInfo {
    resourceUrl?: string;
    apiUrl?: string;
    hmr?: boolean;
}
export interface ILocalHostingService extends IServiceLocationProvider, IServiceManifestProvider {
    loadLocalizationFromLocalHosting: () => void;
    addServiceDns: (omniaServiceId: GuidValue, dns: string) => void;
    removeServiceDns: (dns: string) => void;
    startServe: (hostingAddress: string) => Promise<GuidValue>;
    stopServe: (hostingAddress: string) => Promise<Array<GuidValue>>;
    stopAllServing: () => void;
    getAllServed: () => LocalHostingInfo;
    getResourceUrl: (omniaServiceId: GuidValue) => string;
    isServing: (omniaServiceId: GuidValue) => boolean;
    hasServing(): boolean;
}
export declare class LocalHostingService {
    private static _Instance;
    private static localHostingInformation;
    static get instance(): ILocalHostingService;
}
