import { LogLevel } from '../../../logger/src/index.ts';
export declare class Config {
    private configBuilder;
    private logLevel;
    private port;
    private serverIp;
    private levelName;
    private worlds;
    private maxPlayers;
    private gamemode;
    private motd;
    private viewDistance;
    private onlineMode;
    private packetCompressionLevel;
    /**
     * Controls if the minecraft/source query response should be enabled.
     */
    private enableQuery;
    /**
     * Controls if the process title should be updated.
     * @remarks this can cause performance issues in some terminals.
     */
    private enableProcessTitle;
    /**
     * Controls if the ticking should be enabled.
     */
    private enableTicking;
    constructor();
    /**
     * On enable hook.
     * @group Lifecycle
     */
    enable(): Promise<void>;
    /**
     * On disable hook.
     * @group Lifecycle
     */
    disable(): Promise<void>;
    getLogLevel(): LogLevel;
    /**
     * Get the server's port.
     * @returns {number} The server's port
     * @remarks The default port is `19132`.
     */
    getServerPort(): number;
    /**
     * Get the server's IP address.
     * @remarks The default IP address is `0.0.0.0`
     * @returns {string} The server's IP address
     */
    getServerIp(): string;
    /**
     * Returns the default world's name (`id`).
     * @returns The world's name as a `string`
     * @remarks
     * If the world doesn't exist as a part of the `worlds` array the `worldManager` will
     * fail to initialize.
     */
    getLevelName(): string;
    getWorlds(): any;
    /**
     *
     * @returns The max amount of players allowed onto the server at the same time.
     */
    getMaxPlayers(): number;
    getGamemode(): string;
    /**
     * Set the default gamemode.
     *
     * @param gamemode - the gamemode
     * @param commit - if the value should be written to the `config.yml` file
     */
    setGamemode(gamemode: number, commit?: boolean): void;
    /**
     * Returns true or false depending on if online mode is enabled.
     *
     * @returns The message of the day as a `string`
     */
    getMotd(): string;
    /**
     * Set the motd.
     *
     * @param motd - the gamemode
     * @param commit - if the value should be written to the `config.yml` file
     */
    setMotd(motd: string, commit?: boolean): void;
    /**
     * Returns the view distance.
     *
     * @returns The view distance as an `integer`
     */
    getViewDistance(): number;
    /**
     * Returns true or false depending on if online mode is enabled.
     *
     * @returns `true` if enabled, `false` otherwise
     */
    getOnlineMode(): boolean;
    getPacketCompressionLevel(): number;
    getEnableQuery(): boolean;
    getEnableProcessTitle(): boolean;
    getEnableTicking(): boolean;
}
//# sourceMappingURL=Config.d.ts.map