import { BaseConnection, DeviceCredentials, CommandResult } from '../base-connection';
export declare class JuniperConnection extends BaseConnection {
    private inCliMode;
    private inConfigMode;
    private inShellMode;
    constructor(credentials: DeviceCredentials);
    protected sessionPreparation(): Promise<void>;
    private createJuniperShellChannel;
    private enterCliMode;
    private determineMode;
    protected setTerminalWidth(): Promise<void>;
    protected disablePaging(): Promise<void>;
    protected setBasePrompt(): Promise<void>;
    protected enterConfigMode(): Promise<void>;
    protected exitConfigMode(): Promise<void>;
    sendCommand(command: string): Promise<CommandResult>;
    sendConfig(configCommands: string[]): Promise<CommandResult>;
    commitConfig(comment?: string): Promise<CommandResult>;
    getCurrentConfig(): Promise<CommandResult>;
    saveConfig(): Promise<CommandResult>;
    rebootDevice(): Promise<CommandResult>;
    protected sanitizeOutput(output: string, command: string): string;
    isInCliMode(): boolean;
    isInConfigMode(): boolean;
    isInShellMode(): boolean;
    enterShellMode(): Promise<void>;
    returnToCliMode(): Promise<void>;
}
