import type model from '@skyway-sdk/model';
import type { SkyWayChannelImpl } from '../../../channel';
import type { SkyWayContext } from '../../../context';
import type { LocalPersonImpl } from '../../../member/localPerson';
import { SkyWayPlugin } from '../../interface/plugin';
import { MessageBuffer } from './connection/messageBuffer';
import { RemotePersonImpl } from './member';
export declare class PersonPlugin extends SkyWayPlugin {
    readonly subtype = "person";
    _messageBuffers: {
        [localPersonId: string]: MessageBuffer;
    };
    readonly _whenCreateLocalPerson: (person: LocalPersonImpl) => Promise<void>;
    readonly _whenDisposeLocalPerson: (person: LocalPersonImpl) => Promise<void>;
    readonly _createRemoteMember: (channel: SkyWayChannelImpl, memberDto: model.Member) => RemotePersonImpl;
}
export declare const registerPersonPlugin: (context: SkyWayContext) => PersonPlugin;
//# sourceMappingURL=plugin.d.ts.map