///
import CancellationToken from 'cancellationtoken';
import { MultiplexingStream } from 'nerdbank-streams';
import { IDisposable } from '../IDisposable';
import { IRemoteServiceBroker } from '../IRemoteServiceBroker';
import { RemoteServiceConnectionInfo } from '../RemoteServiceConnectionInfo';
import { ServiceActivationOptions } from '../ServiceActivationOptions';
import { ServiceBrokerClientMetadata } from '../ServiceBrokerClientMetadata';
import { ServiceMoniker } from '../ServiceMoniker';
import { ServiceRpcDescriptor } from '../ServiceRpcDescriptor';
import { GlobalBrokeredServiceContainer } from './GlobalBrokeredServiceContainer';
import { IProffered } from './IProffered';
import { ServiceBrokerEmitter } from './ServiceBrokerEmitter';
import { ServiceMonikerValue } from './ServiceMonikerValue';
import { ServiceSource } from './ServiceSource';
declare const ProfferedRemoteServiceBroker_base: new () => ServiceBrokerEmitter;
export declare class ProfferedRemoteServiceBroker extends ProfferedRemoteServiceBroker_base implements IProffered {
private readonly container;
private readonly remoteServiceBroker;
readonly multiplexingStream: MultiplexingStream | null;
readonly source: ServiceSource;
private readonly serviceBroker;
readonly monikers: readonly ServiceMonikerValue[];
constructor(container: GlobalBrokeredServiceContainer, remoteServiceBroker: IRemoteServiceBroker, multiplexingStream: MultiplexingStream | null, source: ServiceSource, monikers: readonly ServiceMoniker[]);
getProxy(serviceDescriptor: ServiceRpcDescriptor, options?: ServiceActivationOptions | undefined, cancellationToken?: CancellationToken | undefined): Promise<(T & IDisposable) | null>;
getPipe(serviceMoniker: ServiceMoniker, options?: ServiceActivationOptions | undefined, cancellationToken?: CancellationToken | undefined): Promise;
handshake(clientMetadata: ServiceBrokerClientMetadata, cancellationToken?: CancellationToken | undefined): Promise;
requestServiceChannel(serviceMoniker: ServiceMoniker, options?: ServiceActivationOptions | undefined, cancellationToken?: CancellationToken | undefined): Promise;
cancelServiceRequest(serviceRequestId: string, cancellationToken?: CancellationToken | undefined): Promise;
dispose(): void;
private onAvailabilityChanged;
}
export {};