import { NewPipeProducer } from './socket-receive-methods/new-pipe-producer.service'; import { ProducerClosed } from './socket-receive-methods/producer-closed.service'; import { ReorderStreamsParameters, ReorderStreamsType, NewPipeProducerParameters, NewPipeProducerType, ProducerClosedType, ProducerClosedParameters, ReceiveAllPipedTransportsType, ReceiveAllPipedTransportsParameters } from '../@types/types'; import { Socket } from 'socket.io-client'; import * as i0 from "@angular/core"; export interface ConnectLocalIpsParameters extends ReorderStreamsParameters, ProducerClosedParameters, NewPipeProducerParameters, ReceiveAllPipedTransportsParameters { socket: Socket; reorderStreams: ReorderStreamsType; receiveAllPipedTransports: ReceiveAllPipedTransportsType; getUpdatedAllParams: () => ConnectLocalIpsParameters; [key: string]: any; } export interface ConnectLocalIpsOptions { socket: Socket; newProducerMethod?: NewPipeProducerType; closedProducerMethod?: ProducerClosedType; parameters: ConnectLocalIpsParameters; } export type ConnectLocalIpsType = (options: ConnectLocalIpsOptions) => Promise; /** * Connects to remote IPs and manages socket connections. * * This method establishes connections to remote IPs for media streaming, handles new pipe producer events, * and manages producer closure events. It updates the necessary state in the application to reflect * the current connections and stream configurations. * * @param {ConnectLocalIpsOptions} options - The options for connecting IPs. * @param {Socket} options.socket - The socket connection to use for communication. * @param {Function} [options.newProducerMethod] - The method to handle new pipe producer events (default: newPipeProducer). * @param {Function} [options.closedProducerMethod] - The method to handle producer closed events (default: producerClosed). * @param {ConnectLocalIpsParameters} options.parameters - Additional parameters for the operation. * * @returns {Promise} A promise that resolves when the connection is established. * * @throws Will throw an error if required parameters are missing or if there is an issue connecting to a remote IP. * * @example * ```typescript * const result = await connectLocalIps({ * socket, * newProducerMethod: newPipeProducer, * closedProducerMethod: producerClosed, * parameters, * }); * ``` */ export declare class ConnectLocalIps { private newPipeProducerService; private producerClosedService; constructor(newPipeProducerService: NewPipeProducer, producerClosedService: ProducerClosed); connectLocalIps: ConnectLocalIpsType; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }