import { ConfigurationBuilder } from "./configuration/configuration-builder";
import { Logger } from "./logging/logger";
import { ApiServer } from "./api-server";
import { DependencyCollection } from "@miracledevs/paradigm-web-di";
export declare type ConfigurationMethod = (configurationBuilder: ConfigurationBuilder) => void;
export declare type LoggingMethod = (logger: Logger) => void;
export declare type DependencyInjectionMethod = () => DependencyCollection;
export declare class HostBuilder {
    private _configurationMethod;
    private _loggingMethod;
    private _injectorMethod;
    useConfiguration(configurationMethod: ConfigurationMethod): HostBuilder;
    useLogging(loggingMethod: LoggingMethod): HostBuilder;
    useDependencyInjection(injectorMethod: DependencyInjectionMethod): HostBuilder;
    build<TServer extends ApiServer>(serverClass: {
        new (): TServer;
    }): TServer;
}
