import { BaseConnection, DeviceCredentials, CommandResult } from '../base-connection';
export declare class FortinetConnection extends BaseConnection {
    private readonly promptPattern;
    private vdoms;
    private osVersion;
    private originalOutputMode;
    private outputMode;
    private inConfigGlobal;
    constructor(credentials: DeviceCredentials);
    sessionPreparation(): Promise<void>;
    private createFortinetShellChannel;
    private handleBanner;
    protected setBasePrompt(): Promise<void>;
    private detectVDOMs;
    private determineOSVersion;
    private detectOutputMode;
    private getOutputModeV6;
    private getOutputModeV7;
    private enterConfigGlobal;
    private exitConfigGlobal;
    protected disablePaging(): Promise<void>;
    sendCommand(command: string): Promise<CommandResult>;
    sendConfig(configCommands: string[]): Promise<CommandResult>;
    getCurrentConfig(): Promise<CommandResult>;
    saveConfig(): Promise<CommandResult>;
    rebootDevice(): Promise<CommandResult>;
    protected sanitizeOutput(output: string, command: string): string;
    protected enterConfigMode(): Promise<void>;
    protected exitConfigMode(): Promise<void>;
    isInConfigMode(): boolean;
    cleanup(): Promise<void>;
    hasVDOMs(): boolean;
    getOSVersion(): string;
    getOutputMode(): string;
}
