import { Event } from '@skyway-sdk/common';
import { AnalyticsSession, IceManager, SkyWayContext } from '@skyway-sdk/core';
import { SfuRestApiClient } from '@skyway-sdk/sfu-api-client';
import { RtpCapabilities } from '@skyway-sdk/mediasoup-client/lib/RtpParameters';
import { TransportOptions } from '@skyway-sdk/mediasoup-client/lib/Transport';
import { SfuBotMember } from '../../member';
import { SfuTransport } from './transport';
export declare class TransportRepository {
    private _context;
    private readonly _api;
    onTransportCreated: Event<string>;
    private readonly _device;
    /**@private */
    _transports: {
        [id: string]: SfuTransport;
    };
    get rtpCapabilities(): RtpCapabilities | undefined;
    constructor(_context: SkyWayContext, _api: SfuRestApiClient);
    loadDevice(rtpCapabilities: RtpCapabilities): Promise<void>;
    /**worker内にmemberIdに紐つくTransportが無ければ新しいTransportが作られる */
    createTransport(personId: string, bot: SfuBotMember, transportOptions: TransportOptions, direction: 'send' | 'recv', iceManager: IceManager, analyticsSession?: AnalyticsSession): SfuTransport;
    readonly getTransport: (personId: string, id: string) => SfuTransport;
    deleteTransports(personId: string): void;
}
//# sourceMappingURL=transportRepository.d.ts.map