/// <reference types="node" />
import { Env } from "@tsed/core";
import { DIConfiguration } from "@tsed/di";
import Https from "https";
import { EndpointDirectoriesSettings, PlatformLoggerSettings } from "../interfaces";
import { ConverterSettings } from "../interfaces/ConverterSettings";
/**
 * `PlatformConfiguration` contains all information about your Server configuration.
 */
export declare class PlatformConfiguration extends DIConfiguration {
    constructor();
    get version(): string;
    set version(v: string);
    get rootDir(): string;
    set rootDir(value: string);
    get port(): string | number | false;
    set port(value: string | number | false);
    get httpsOptions(): Https.ServerOptions;
    set httpsOptions(value: Https.ServerOptions);
    get httpPort(): string | number | false;
    set httpPort(value: string | number | false);
    get httpsPort(): string | number | false;
    set httpsPort(value: string | number | false);
    get env(): Env;
    set env(value: Env);
    get mount(): EndpointDirectoriesSettings;
    set mount(value: EndpointDirectoriesSettings);
    get componentsScan(): string[];
    set componentsScan(value: string[]);
    get statics(): EndpointDirectoriesSettings;
    set statics(value: EndpointDirectoriesSettings);
    get acceptMimes(): string[];
    set acceptMimes(value: string[]);
    get debug(): boolean;
    set debug(debug: boolean);
    get converter(): Partial<ConverterSettings>;
    set converter(options: Partial<ConverterSettings>);
    get logger(): Partial<PlatformLoggerSettings>;
    set logger(value: Partial<PlatformLoggerSettings>);
    get exclude(): string[];
    set exclude(exclude: string[]);
    /**
     *
     * @param addressPort
     * @returns {{address: string, port: number}}
     */
    private static buildAddressAndPort;
    /**
     *
     * @returns {string|number}
     */
    getHttpPort(): {
        address: string;
        port: number;
    };
    /**
     *
     * @param settings
     */
    setHttpPort(settings: {
        address: string;
        port: number;
    }): void;
    /**
     *
     * @returns {string|number}
     */
    getHttpsPort(): {
        address: string;
        port: number;
    };
    /**
     *
     * @param settings
     */
    setHttpsPort(settings: {
        address: string;
        port: number;
    }): void;
}
