import { SshService } from './sshService';
import { ConnectionMessage, ChannelOpenMessage } from '../messages/connectionMessages';
import { SshSession } from '../sshSession';
import { CancellationToken } from 'vscode-jsonrpc';
import { PromiseCompletionSource } from '../util/promiseCompletionSource';
import { SshChannel } from '../sshChannel';
export declare class ConnectionService extends SshService {
    static readonly serviceName = "ssh-connection";
    private channelCounter;
    private readonly channelMap;
    private readonly nonAcceptedChannels;
    private readonly pendingChannels;
    private readonly pendingAcceptChannels;
    constructor(session: SshSession);
    get channels(): SshChannel[];
    close(e: Error): void;
    dispose(): void;
    acceptChannel(channelType: string, cancellation?: CancellationToken): Promise<SshChannel>;
    openChannel(openMessage: ChannelOpenMessage, completionSource: PromiseCompletionSource<SshChannel>, cancellation?: CancellationToken): Promise<number>;
    handleMessage(message: ConnectionMessage, cancellation?: CancellationToken): void | Promise<void>;
    private handleOpenMessage;
    private handleCloseMessage;
    private handleOpenConfirmationMessage;
    private handleOpenFailureMessage;
    private handleRequestMessage;
    private handleSuccessMessage;
    private handleFailureMessage;
    private handleDataMessage;
    private handleExtendedDataMessage;
    private handleAdjustWindowMessage;
    private handleEofMessage;
    private onChannelOpenCompleted;
    /**
     * Gets the channel object based on the message `recipientChannel` property.
     * Logs a warning if the channel was not found.
     */
    private tryGetChannelForMessage;
    private findChannelById;
}
//# sourceMappingURL=connectionService.d.ts.map