import { Service } from './Service.js';
export declare class ServiceManager<KnownBindings extends Record<string, Service>> {
    #private;
    /**
     * Registers a service by a specified key.
     * @param key The key to use to lookup the service.
     * @param instance The instance of the service class.
     */
    register<Binding extends keyof KnownBindings>(key: Binding, instance: KnownBindings[Binding]): void;
    /**
     * Returns a service registered in the application.
     * If the service is not found it throws an error.
     *
     * It ensures a service is running before returning the service.
     *
     * @param key The key of the service to retrieve.
     * @returns The service for the given key.
     */
    get<Binding extends keyof KnownBindings>(key: Binding): Promise<KnownBindings[Binding]>;
    unload(): Promise<void>;
}
//# sourceMappingURL=ServiceManager.d.ts.map