import { BaseConnection, DeviceCredentials, CommandResult } from '../base-connection';
export declare class MikrotikConnection extends BaseConnection {
    protected promptPattern: RegExp;
    protected originalUsername: string;
    constructor(credentials: DeviceCredentials);
    protected modifyUsername(): string;
    connect(): Promise<void>;
    sessionPreparation(): Promise<void>;
    protected handleSpecialLogin(): Promise<void>;
    protected setBasePrompt(): Promise<void>;
    sendCommand(command: string): Promise<CommandResult>;
    sendConfig(configCommands: string[]): Promise<CommandResult>;
    getCurrentConfig(): Promise<CommandResult>;
    getSystemInfo(): Promise<CommandResult>;
    getRouterBoard(): Promise<CommandResult>;
    saveConfig(): Promise<CommandResult>;
    rebootDevice(): Promise<CommandResult>;
    protected sanitizeMikrotikOutput(output: string, command: string): string;
    disconnect(): Promise<void>;
}
export declare class MikrotikRouterOsConnection extends MikrotikConnection {
}
export declare class MikrotikSwitchOsConnection extends MikrotikConnection {
}
