import { Buffer } from 'buffer';
import { Http2ServerRequest } from 'http2';
import WebSocket from 'ws';
import { Server } from '../base';
import { Service, WSRequest, WSResponse } from './service';
export declare class Connection extends Service {
    private readonly request;
    private readonly server;
    private device;
    private readonly router;
    constructor(request: Http2ServerRequest, ws: WebSocket, server: Server);
    start(socket: WebSocket): Promise<void>;
    sendMessage(message: Buffer<ArrayBuffer> | 'empty'): Promise<void>;
    close(code: number): void;
    protected handleRequest(request: WSRequest): Promise<WSResponse>;
    private handleProvision;
    private handleAuth;
    private handleAuthHeaders;
    private getDevice;
    private checkAccessKey;
}
