/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

import { CancellationToken } from '@sussudio/base/common/cancellation.mjs';
import { Event } from '@sussudio/base/common/event.mjs';
import { IChannel, IServerChannel } from '@sussudio/base/parts/ipc/common/ipc.mjs';
import { IRequestContext, IRequestOptions } from '@sussudio/base/parts/request/common/request.mjs';
import { IRequestService } from './request.mjs';
export declare class RequestChannel implements IServerChannel {
	private readonly service;
	constructor(service: IRequestService);
	listen(context: any, event: string): Event<any>;
	call(context: any, command: string, args?: any, token?: CancellationToken): Promise<any>;
}
export declare class RequestChannelClient implements IRequestService {
	private readonly channel;
	readonly _serviceBrand: undefined;
	constructor(channel: IChannel);
	request(options: IRequestOptions, token: CancellationToken): Promise<IRequestContext>;
	resolveProxy(url: string): Promise<string | undefined>;
}
