// Generated by dts-bundle-generator v9.5.1

declare enum LogsMessageFormat {
	Neutral = 0,
	Success = 1,
	Info = 2,
	Warn = 3,
	Error = 4
}
export interface LogsMessage {
	timestamp: number;
	content: string;
	format: LogsMessageFormat;
}
export interface FNLBConfig {
	clusterName?: string;
	onLogMessage?: (message: LogsMessage) => any;
	onSubProcessLogMessage?: (message: LogsMessage) => any;
	disableLogs?: boolean;
	disableErrorLogs?: boolean;
	disableSubProcessLogs?: boolean;
	disableSubProcessErrorLogs?: boolean;
	maxDownloadRetries?: number;
	maxBackoffMs?: number;
}
export declare enum LogLevel {
	Info = "INFO",
	Debug = "DEBUG"
}
export interface StartConfig {
	apiToken: string;
	categories?: string[];
	numberOfShards?: number;
	botsPerShard?: number;
	hideUsernames?: boolean;
	hideEmails?: boolean;
	logLevel?: LogLevel;
}
declare class FNLB {
	private readonly config?;
	private readonly activeProcesses;
	private readonly packageName;
	private isLoaded;
	private shouldRestart;
	private runId;
	constructor(config?: FNLBConfig);
	start(config: StartConfig): Promise<void>;
	stop(): Promise<void>;
	startShard(config: StartConfig, id: string, currentRunId: number): Promise<import("child_process").ChildProcess>;
	update(): Promise<void>;
	private log;
	private success;
	private warn;
	private error;
}

export {
	FNLB as default,
};

export {};
