import { IDisposable } from '../../../base/common/lifecycle'; import { ISocket } from '../../../base/parts/ipc/common/ipc.net'; import { RemoteConnectionOfType, RemoteConnectionType, RemoteConnection } from '../../../platform/remote/common/remoteAuthorityResolver'; export declare const IRemoteSocketFactoryService: import("../../../platform/instantiation/common/instantiation").ServiceIdentifier; export interface IRemoteSocketFactoryService { readonly _serviceBrand: undefined; /** * Register a socket factory for the given message passing type * @param type passing type to register for * @param factory function that returns the socket factory, or undefined if * it can't handle the data. */ register(type: T, factory: ISocketFactory): IDisposable; connect(connectTo: RemoteConnection, path: string, query: string, debugLabel: string): Promise; } export interface ISocketFactory { supports(connectTo: RemoteConnectionOfType): boolean; connect(connectTo: RemoteConnectionOfType, path: string, query: string, debugLabel: string): Promise; } export declare class RemoteSocketFactoryService implements IRemoteSocketFactoryService { readonly _serviceBrand: undefined; private readonly factories; register(type: T, factory: ISocketFactory): IDisposable; private getSocketFactory; connect(connectTo: RemoteConnection, path: string, query: string, debugLabel: string): Promise; }