import { IDisposable } from "../../../base/common/lifecycle.js";
import { ISocket } from "@codingame/monaco-vscode-4a3ac544-9a61-534c-88df-756262793ef7-common/vscode/vs/base/parts/ipc/common/ipc.net";
import { RemoteConnectionType, RemoteConnection } from "./remoteAuthorityResolver.js";
import { ISocketFactory } from "@codingame/monaco-vscode-remote-agent-service-override/vscode/vs/platform/remote/common/remoteSocketFactoryService";
export declare const IRemoteSocketFactoryService: import("../../instantiation/common/instantiation.js").ServiceIdentifier<IRemoteSocketFactoryService>;
export interface IRemoteSocketFactoryService {
    readonly _serviceBrand: undefined;
    register<T extends RemoteConnectionType>(type: T, factory: ISocketFactory<T>): IDisposable;
    connect(connectTo: RemoteConnection, path: string, query: string, debugLabel: string): Promise<ISocket>;
}
