///
import protobuf from 'protobufjs';
import type tls from 'tls';
import { DemuxSocket } from './demux-socket';
import { DemuxServiceName } from './proto-defs';
import { DemuxConnection } from './demux-connection';
import type { client_configuration_service, cloudsave_service, denuvo_service, download_service, friends_service, ownership_service, party_service, playtime_service, store_service, utility_service, demux } from './generated';
export interface ServiceConnections {
client_configuration_service: DemuxConnection;
cloudsave_service: DemuxConnection;
denuvo_service: DemuxConnection;
download_service: DemuxConnection;
friends_service: DemuxConnection;
ownership_service: DemuxConnection;
party_service: DemuxConnection;
playtime_service: DemuxConnection;
store_service: DemuxConnection;
utility_service: DemuxConnection;
}
export interface UbisoftDemuxProps {
host?: string;
startRequestId?: number;
timeout?: number;
tlsConnectionOptions?: tls.ConnectionOptions;
}
export declare class UbisoftDemux {
private host;
private debug;
private timeout;
socket: DemuxSocket;
basicRequest: (payload: Omit) => Promise>;
destroy: (error?: Error | undefined) => Promise;
constructor(props?: UbisoftDemuxProps);
openConnection(serviceName: 'client_configuration_service'): Promise;
openConnection(serviceName: 'cloudsave_service'): Promise;
openConnection(serviceName: 'denuvo_service'): Promise;
openConnection(serviceName: 'download_service'): Promise;
openConnection(serviceName: 'friends_service'): Promise;
openConnection(serviceName: 'ownership_service'): Promise;
openConnection(serviceName: 'party_service'): Promise;
openConnection(serviceName: 'playtime_service'): Promise;
openConnection(serviceName: 'store_service'): Promise;
openConnection(serviceName: 'utility_service'): Promise;
openConnection, DownType extends Record>(serviceName: DemuxServiceName): Promise>;
serviceRequest(service: 'client_configuration_service', payload: client_configuration_service.Upstream): Promise;
serviceRequest(service: 'cloudsave_service', payload: cloudsave_service.Upstream): Promise;
serviceRequest(service: 'denuvo_service', payload: denuvo_service.Upstream): Promise;
serviceRequest(service: 'download_service', payload: download_service.Upstream): Promise;
serviceRequest(service: 'friends_service', payload: friends_service.Upstream): Promise;
serviceRequest(service: 'ownership_service', payload: ownership_service.Upstream): Promise;
serviceRequest(service: 'party_service', payload: party_service.Upstream): Promise;
serviceRequest(service: 'playtime_service', payload: playtime_service.Upstream): Promise;
serviceRequest(service: 'store_service', payload: store_service.Upstream): Promise;
serviceRequest(service: 'utility_service', payload: utility_service.Upstream): Promise;
serviceRequest(service: string, payload: UpType): Promise;
}