import { FfiEvent, PartialMessage, FfiRequest } from '@livekit/rtc-ffi-bindings'; export { FfiEvent, FfiHandle, FfiRequest, FfiResponse, livekitDispose as dispose } from '@livekit/rtc-ffi-bindings'; import { TypedEventEmitter } from '@livekit/typed-emitter'; type FfiClientCallbacks = { ffi_event: (event: FfiEvent) => void; }; declare enum FfiClientEvent { FfiEvent = "ffi_event" } declare global { var _ffiClientInstance: FfiClient | undefined; } declare const FfiClient_base: new () => TypedEventEmitter; declare class FfiClient extends FfiClient_base { /** @internal */ static get instance(): FfiClient; constructor(); request(req: PartialMessage): T; copyBuffer(ptr: bigint, len: number): Uint8Array; retrievePtr(data: Uint8Array): bigint; waitFor(predicate: (ev: FfiEvent) => boolean): Promise; } export { FfiClient, type FfiClientCallbacks, FfiClientEvent };