import State from './State';
import StateSyncer from './StateSyncer';
import { ServerToClientMessage } from '../Constants';
export default class SocketClient<T, K> {
    identifier: string;
    clientInformation: K;
    socket: WebSocket;
    stateSyncer: StateSyncer<T, K>;
    state: State<T, K>;
    constructor(socket: WebSocket, stateSyncer: StateSyncer<T, K>, clientInformation: K, identifier: string);
    private setUpEventListeners;
    private onMessage;
    private onConnectToStateRequest;
    private onStateUpdateRequest;
    onStateConnected: (state: State<T, K>) => void;
    sendMessage: (msg: ServerToClientMessage) => void;
}
