import { type SkyWayError } from '@skyway-sdk/common';
import type { LocalStream } from '../../media/stream';
import type { RemoteAudioStream } from '../../media/stream/remote/audio';
import type { RemoteDataStream } from '../../media/stream/remote/data';
import type { RemoteVideoStream } from '../../media/stream/remote/video';
import type { Publication } from '../../publication';
import type { Subscription } from '../../subscription';
import type { LocalPerson, LocalPersonImpl, PublicationOptions, SubscriptionOptions } from '.';
/**@internal */
export declare class LocalPersonAdapter implements LocalPerson {
    /**@private */
    _impl: LocalPersonImpl;
    get keepaliveIntervalSec(): number | undefined;
    get keepaliveIntervalGapSec(): number | undefined;
    get disableSignaling(): boolean | undefined;
    get disableAnalytics(): boolean | undefined;
    get type(): "person";
    get subtype(): "person";
    get side(): "local";
    get id(): string;
    get name(): string | undefined;
    get channel(): import("../..").SkyWayChannelImpl;
    get metadata(): string | undefined;
    get state(): import("..").MemberState;
    get publications(): Publication<LocalStream>[];
    get subscriptions(): Subscription<import("../../media/stream").RemoteStream>[];
    private _events;
    readonly onLeft: import("@skyway-sdk/common").Event<void>;
    readonly onMetadataUpdated: import("@skyway-sdk/common").Event<string>;
    readonly onMemberStateChanged: import("@skyway-sdk/common").Event<void>;
    readonly onStreamPublished: import("@skyway-sdk/common").Event<{
        publication: Publication;
    }>;
    readonly onStreamUnpublished: import("@skyway-sdk/common").Event<{
        publication: Publication;
    }>;
    readonly onPublicationListChanged: import("@skyway-sdk/common").Event<void>;
    readonly onPublicationSubscribed: import("@skyway-sdk/common").Event<{
        subscription: Subscription;
        stream: RemoteVideoStream | RemoteAudioStream | RemoteDataStream;
    }>;
    readonly onPublicationUnsubscribed: import("@skyway-sdk/common").Event<{
        subscription: Subscription;
    }>;
    readonly onSubscriptionListChanged: import("@skyway-sdk/common").Event<void>;
    readonly onFatalError: import("@skyway-sdk/common").Event<SkyWayError<Record<string, any>>>;
    constructor(
    /**@private */
    _impl: LocalPersonImpl);
    apply(person: LocalPersonImpl): void;
    subscribe<T extends RemoteVideoStream | RemoteAudioStream | RemoteDataStream>(publication: string | Publication, options?: SubscriptionOptions): Promise<{
        subscription: Subscription<T>;
        stream: T;
    }>;
    unsubscribe(subscription: string | Subscription): Promise<void>;
    publish<T extends LocalStream>(stream: T, options?: PublicationOptions): Promise<Publication<T>>;
    unpublish(publication: string | Publication): Promise<void>;
    updateMetadata(metadata: string): Promise<void>;
    leave(): Promise<void>;
    dispose(): void;
}
//# sourceMappingURL=adapter.d.ts.map