import { OptionValues } from 'commander';
import { CallerType } from '../../../../shared/enums/caller-type';
import { LogLevel } from '../../../../shared/logger/log-level';
import { AppLogOption } from '../../../types/app-log-option';
import { FeatureFlags } from '../../../types/feature-flags';
import { ServerModeName } from './app-init';
/**
 * A command line value for log level option to disable a log writer.
 * Note: it should be only used in the command line layer.
 */
declare const LOG_OFF_LEVEL = "off";
export interface CommandOptionValues {
    epsInstanceId: string;
    mode: ServerModeName;
    /** caller's process ID */
    callerPid: number;
    callerId: string;
    callerType: CallerType;
    portRange: [number, number];
    mainPort: number | undefined;
    staticServerPort: number | undefined;
    grpcServerPort: number | undefined;
    portFile: string;
    epsTempDirPath: string;
    staticServerUiDir: string;
    staticServerHandlersDir: string;
    logDir: string;
    logLevel: LogLevel | typeof LOG_OFF_LEVEL;
    consoleLogLevel: LogLevel | typeof LOG_OFF_LEVEL;
    language: string;
    locale: string;
    featureFlags: FeatureFlags;
}
export declare function handleLoggerSetup(args: string[]): void;
export declare function parseArgs(args: string[]): CommandOptionValues;
export declare function parsePortRange(portRange: string): [number, number];
export declare function parseMainPort(options: OptionValues): number | undefined;
export declare function parseStaticServerPort(options: OptionValues): number | undefined;
export declare function parseFeatureFlags(input: string | undefined): FeatureFlags;
/**
 * Get app log options from command line values
 */
export declare function getAppLogOption(options: Pick<CommandOptionValues, 'logLevel' | 'consoleLogLevel' | 'logDir'>): AppLogOption;
export {};
