import { Observable, BehaviorSubject } from 'rxjs'; import { HttpRef, HttpConfig, HttpBodyPrimitive, HttpBody, FileDatasource, HttpConfigPolling } from 'uni-model-type/type'; declare class UniHttpManager { /** Hostname del server (es. 'api.example.com' o 'localhost') */ private static hostname; /** Porta del server su cui effettuare le chiamate (es. 80, 443 o 3000) */ private static port; /** Restituisce se lo store ha chiamate in attesa di risposta o meno */ static get hasWaitingRequests$(): Observable; /** Store privato (Subject) */ static store: BehaviorSubject>; /** Store pubblico (Observable) */ static store$: Observable>; /** Ottiene lo stato attuale della Map senza dover sottoscrivere l'observable */ static get currentValue(): Map; /** * Inizializza la configurazione di rete del manager. * Deve essere chiamato prima di effettuare qualsiasi richiesta HTTP. */ static setup(hostname: string, port: number): void; static read$(config: HttpConfig): Observable; static read$(config: HttpConfig): Observable; /** * Esegue una richiesta HTTP POST inviando un payload JSON nel corpo della richiesta. * Imposta automaticamente l'header 'Content-Type' come 'application/json'. */ static create$(config: HttpConfig & { hasToKeepId?: boolean; }, body: HttpBody): Observable; static create$(config: HttpConfig & { hasToKeepId?: boolean; }, body: HttpBody): Observable; /** * Esegue una singola richiesta HTTP PUT per aggiornare una risorsa esistente. */ static update$(config: HttpConfig): Observable; static update$(config: HttpConfig, body: HttpBody): Observable; static update$(config: HttpConfig): Observable; static update$(config: HttpConfig, body: HttpBody): Observable; /** * Esegue una richiesta HTTP DELETE per rimuovere una risorsa. * Utilizza il path configurato per costruire l'URL completo e restituisce un Observable del risultato. */ static delete$(config: HttpConfig): Observable; static delete$(config: HttpConfig): Observable; /** * Recupera un'immagine tramite una richiesta GET e la trasforma in un formato gestibile (es. Blob o Base64). * Delega la logica di conversione alla funzione executeImage. */ static readImage$(config: HttpConfig): Observable; /** * Recupera un file (es. PDF) tramite una richiesta GET e restituisce un Object URL temporaneo. * Delega la logica di conversione alla funzione executeFile. */ static readFile$(config: HttpConfig): Observable; /** * Avvia un ciclo di polling basato su richieste GET. * Continua a emettere valori in base alla configurazione di intervallo definita in HttpConfigPolling. */ static readPolling$(config: HttpConfigPolling): Observable; static readPolling$(config: HttpConfigPolling): Observable; /** * Avvia un ciclo di polling basato su richieste POST. * Invia il body specificato a ogni iterazione del ciclo. */ static createPolling$(config: HttpConfigPolling & { hasToKeepId?: boolean; }, body: HttpBody): Observable; static createPolling$(config: HttpConfigPolling & { hasToKeepId?: boolean; }, body: HttpBody): Observable; /** * Avvia un ciclo di polling basato su richieste PUT. */ static updatePolling$(config: HttpConfigPolling): Observable; static updatePolling$(config: HttpConfigPolling, body: HttpBody): Observable; static updatePolling$(config: HttpConfigPolling): Observable; static updatePolling$(config: HttpConfigPolling, body: HttpBody): Observable; } export { UniHttpManager };