/// <reference types="node" />
import { SshMessage } from './sshMessage';
import { SshDataReader, SshDataWriter } from '../io/sshData';
import { AuthenticationMethod } from './authenticationMethod';
export declare class AuthenticationMessage extends SshMessage {
}
export declare class AuthenticationRequestMessage extends AuthenticationMessage {
    get messageType(): number;
    username?: string;
    serviceName?: string;
    methodName?: AuthenticationMethod;
    protected onRead(reader: SshDataReader): void;
    protected onWrite(writer: SshDataWriter): void;
    toString(): string;
}
export declare class PublicKeyRequestMessage extends AuthenticationRequestMessage {
    keyAlgorithmName?: string;
    publicKey?: Buffer;
    clientHostname?: string;
    clientUsername?: string;
    signature?: Buffer;
    payloadWithoutSignature?: Buffer;
    constructor();
    get hasSignature(): boolean;
    protected onRead(reader: SshDataReader): void;
    protected onWrite(writer: SshDataWriter): void;
}
export declare class AuthenticationInfoRequestMessage extends AuthenticationMessage {
    get messageType(): number;
    name?: string;
    instruction?: string;
    language?: string;
    prompts?: {
        prompt: string;
        echo: boolean;
    }[];
    protected onRead(reader: SshDataReader): void;
    protected onWrite(writer: SshDataWriter): void;
}
export declare class AuthenticationInfoResponseMessage extends AuthenticationMessage {
    get messageType(): number;
    responses?: string[];
    protected onRead(reader: SshDataReader): void;
    protected onWrite(writer: SshDataWriter): void;
}
export declare class PublicKeyOKMessage extends AuthenticationMessage {
    get messageType(): number;
    keyAlgorithmName?: string;
    publicKey?: Buffer;
    protected onRead(reader: SshDataReader): void;
    protected onWrite(writer: SshDataWriter): void;
}
export declare class PasswordRequestMessage extends AuthenticationRequestMessage {
    password?: string | null;
    constructor();
    protected onRead(reader: SshDataReader): void;
    protected onWrite(writer: SshDataWriter): void;
}
export declare class AuthenticationFailureMessage extends AuthenticationMessage {
    get messageType(): number;
    methodNames?: string[];
    partialSuccess: boolean;
    protected onRead(reader: SshDataReader): void;
    protected onWrite(writer: SshDataWriter): void;
}
export declare class AuthenticationSuccessMessage extends AuthenticationMessage {
    get messageType(): number;
    protected onRead(reader: SshDataReader): void;
    protected onWrite(writer: SshDataWriter): void;
}
//# sourceMappingURL=authenticationMessages.d.ts.map