/*! PrivMX Web Endpoint. Copyright © 2024 Simplito sp. z o.o. This file is part of the PrivMX Platform (https://privmx.dev). This software is Licensed under the PrivMX Free License. See the License for the specific language governing permissions and limitations under the License. */ import { Jsep } from "../service/WebRtcInterface"; import { ContainerPolicy, PagingList, PagingQuery, StreamInfo, StreamEventSelectorType, StreamEventType, StreamRoom, TurnCredentials, UserWithPubKey } from "../Types"; import { WebRtcClient } from "../webStreams/WebRtcClient"; import { WebRtcInterfaceImpl } from "../webStreams/WebRtcInterfaceImpl"; import { Api } from "./Api"; import { BaseNative } from "./BaseNative"; import * as Types from "../Types"; export declare class StreamApiNative extends BaseNative { protected webRtcClient: WebRtcClient; protected static bindingId: number; static getBindingId(): number; protected webRtcInterfacePtr: number; protected selfPtr: number; protected webRtcInterfaceImpl: WebRtcInterfaceImpl | null; constructor(api: Api, webRtcClient: WebRtcClient); newApi(connectionPtr: number, eventApiPtr: number): Promise; deleteApi(ptr: number): Promise; create(ptr: number, args: []): Promise; createStreamRoom(ptr: number, args: [ string, UserWithPubKey[], UserWithPubKey[], Uint8Array, Uint8Array, ContainerPolicy | undefined ]): Promise; updateStreamRoom(ptr: number, args: [ string, UserWithPubKey[], UserWithPubKey[], Uint8Array, Uint8Array, number, boolean, boolean, ContainerPolicy | undefined ]): Promise; deleteStreamRoom(ptr: number, args: [string]): Promise; getStreamRoom(ptr: number, args: [string]): Promise; listStreamRooms(ptr: number, args: [string, PagingQuery]): Promise>; createStream(ptr: number, args: [string]): Promise; joinStreamRoom(ptr: number, args: [string]): Promise; leaveStreamRoom(ptr: number, args: [string]): Promise; enableStreamRoomRecording(ptr: number, args: [string]): Promise; getStreamRoomRecordingKeys(ptr: number, args: [string]): Promise; publishStream(ptr: number, args: [number]): Promise; updateStream(ptr: number, args: [number]): Promise; unpublishStream(ptr: number, args: [number]): Promise; listStreams(ptr: number, args: [string]): Promise; subscribeToRemoteStreams(ptr: number, args: [string, Types.StreamSubscription[]]): Promise; modifyRemoteStreamsSubscriptions(ptr: number, args: [string, Types.StreamSubscription[], Types.StreamSubscription[]]): Promise; unsubscribeFromRemoteStreams(ptr: number, args: [string, Types.StreamSubscription[]]): Promise; keyManagement(ptr: number, args: [boolean]): Promise; getTurnCredentials(ptr: number, args: []): Promise; subscribeFor(ptr: number, args: [string[]]): Promise; unsubscribeFrom(ptr: number, args: [string[]]): Promise; buildSubscriptionQuery(ptr: number, args: [StreamEventType, StreamEventSelectorType, string]): Promise; trickle(ptr: number, args: [number, RTCIceCandidate]): Promise; acceptOfferOnReconfigure(ptr: number, args: [number, Jsep]): Promise; setNewOfferOnReconfigure(ptr: number, args: [number, Jsep]): Promise; protected bindWebRtcInterfaceAsHandler(bindingId: number): void; }