import { ConnectableTerminalProfile, InputProcessingOptions, LoginScriptsOptions } from 'tabby-terminal';
export declare enum SSHAlgorithmType {
    HMAC = "hmac",
    KEX = "kex",
    CIPHER = "cipher",
    HOSTKEY = "serverHostKey",
    COMPRESSION = "compression"
}
export interface SSHProfile extends ConnectableTerminalProfile {
    options: SSHProfileOptions;
}
export interface SSHProfileOptions extends LoginScriptsOptions {
    host: string;
    port?: number;
    user: string;
    auth: null | 'password' | 'publicKey' | 'agent' | 'keyboardInteractive';
    password: string;
    privateKeys: string[];
    keepaliveInterval: number;
    keepaliveCountMax: number;
    readyTimeout: number | null;
    x11: boolean;
    skipBanner: boolean;
    jumpHost: string | null;
    agentForward: boolean;
    warnOnClose: boolean;
    algorithms: Record<SSHAlgorithmType, string[]>;
    proxyCommand: string | null;
    forwardedPorts: ForwardedPortConfig[];
    socksProxyHost: string | null;
    socksProxyPort: number | null;
    httpProxyHost: string | null;
    httpProxyPort: number | null;
    reuseSession: boolean;
    input: InputProcessingOptions;
}
export declare enum PortForwardType {
    Local = "Local",
    Remote = "Remote",
    Dynamic = "Dynamic"
}
export interface ForwardedPortConfig {
    type: PortForwardType;
    host: string;
    port: number;
    targetAddress: string;
    targetPort: number;
    description: string;
}
