import { Auth, BatchPresenceFailureResult, BatchPresenceSuccessResult, BatchPublishFailureResult, BatchPublishSpec, BatchPublishSuccessResult, BatchResult, Channels, Connection, HttpPaginatedResponse, PaginatedResult, Push, RealtimeChannel, RealtimeClient, Stats, StatsParams, } from 'ably'; type BatchPublishResult = BatchResult; // TODO: replace with/use according RPC classes from UTS Pub/Sub when different UTS packages are made composable export class RpcRealtime implements RealtimeClient { private readonly _instanceId: string; constructor(instanceId: string) { this._instanceId = instanceId; } get clientId(): string { throw new Error('Getter not implemented.'); } get auth(): Auth { throw new Error('Getter not implemented.'); } get channels(): Channels { throw new Error('Getter not implemented.'); } get connection(): Connection { throw new Error('Getter not implemented.'); } get push(): Push { throw new Error('Getter not implemented.'); } close(): void { throw new Error('Method not implemented.'); } connect(): void { throw new Error('Method not implemented.'); } request( method: string, path: string, version: number, params?: any, body?: any[] | any, headers?: any, ): Promise> { throw new Error('Method not implemented.'); } stats(params?: StatsParams): Promise> { throw new Error('Method not implemented.'); } time(): Promise { throw new Error('Method not implemented.'); } batchPublish(spec: BatchPublishSpec): Promise; batchPublish(specs: BatchPublishSpec[]): Promise; batchPublish( specs: BatchPublishSpec | BatchPublishSpec[], ): Promise | Promise { throw new Error('Method not implemented.'); } batchPresence(channels: string[]): Promise[]> { throw new Error('Method not implemented.'); } }