///
import { Observable } from 'rxjs';
import { SerializableCommand } from '../../CommandHandling/SerializableCommand';
import { SerializableAction } from '../../Redux/SerializableAction';
import { SerializerInterface } from '../../Serializer/SerializerInterface';
import { ClientGatewayInterface } from '../ClientGatewayInterface';
import { EntityMetadata } from '../../Redux/EntityMetadata';
import { SerializableQuery } from '../../QueryHandling/SerializableQuery';
export declare class ClientSocketIOGateway implements ClientGatewayInterface {
private socket;
private serializer;
private readonly actions$;
private readonly connected$;
constructor(socket: SocketIOClient.Socket, serializer: SerializerInterface);
listen(): Promise>;
emit(serializable: SerializableCommand | SerializableQuery, metadata: EntityMetadata): Promise;
protected emitCommand(command: SerializableCommand, metadata: EntityMetadata): Promise;
protected emitQuery(query: SerializableQuery, metadata: EntityMetadata): Promise;
}