import IFolder from "../storage/IFolder";
import { IWorldSettings } from "./IWorldSettings";
declare enum ServerGameMode {
    survival = "survival",
    creative = "creative",
    adventure = "adventure"
}
declare enum ServerDifficulty {
    peaceful = "peaceful",
    easy = "easy",
    normal = "normal",
    hard = "hard"
}
declare enum ServerContentLoggingLevel {
    verbose = "verbose",
    error = "error",
    warning = "warning",
    info = "info"
}
declare enum ServerPermissionLevel {
    member = "member",
    visitor = "visitor",
    operator = "operator"
}
declare enum ServerAuthoritativeness {
    clientAuth = "client-auth",
    serverAuth = "server-auth",
    serverAuthWithRewind = "server-auth-with-rewind"
}
export default class ServerPropertiesManager {
    private _serverFolder?;
    name: string;
    gameMode: ServerGameMode;
    forceGameMode: boolean;
    difficulty: ServerDifficulty;
    allowCheats: boolean;
    maxPlayers: number;
    onlineMode: boolean;
    emitServerTelemetry: boolean;
    whiteList: boolean;
    serverPort: number;
    serverPortV6: number;
    viewDistance: number;
    tickDistance: number;
    playerIdleTimeout: number;
    maxThreads: number;
    levelName: string;
    levelSeed: string;
    allowInboundScriptDebugging: boolean;
    allowOutboundScriptDebugging: boolean;
    defaultPlayerPermissionLevel: ServerPermissionLevel;
    contentLogLevel: ServerContentLoggingLevel;
    contentLogConsoleOutputEnabled: boolean;
    texturePackRequired: boolean;
    contentLogFileEnabled: boolean;
    compressionThreshold: number;
    serverAuthoritativeMovement: ServerAuthoritativeness;
    playerMovementScoreThreshold: number;
    playerMovementDistanceThreshold: number;
    playerMovementDurationThresholdInMs: number;
    correctPlayerMovement: boolean;
    serverAuthoritativeBlockBreaking: boolean;
    get serverFolder(): IFolder | undefined;
    set serverFolder(newFolder: IFolder | undefined);
    applyFromWorldSettings(worldSettings: IWorldSettings): void;
    writeFile(): Promise<void>;
}
export {};
