import * as i0 from '@angular/core'; import { Observable } from 'rxjs'; import { ActivatedRoute } from '@angular/router'; /** * Servicio que provee métodos para trabajar con datos CSV */ declare class CsvService { /** * Genera el texto CSV a partir de un archivo * @param data- Datos a construir * @returns CSV texto */ generarCsv(data: Array): string; /** * Método que indica si la propiedad es serializable * @param propiedad - Propiedad a validar * @returns True si es una propiedad serializable */ private tipoSerializable; /** * Descarga el CSV a partir de los datos establecidos * @param archivo - Nombre del archivo a descargar * @param data - Arreglo de datos a descargar */ descargarCsv(archivo: string, data: Array): void; /** * Genera el link para el blob y archivo establecidos * @param archivo - Nombre del archivo a descargar * @param blob - Contenido del blob * @returns link */ private generarLink; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * Interface de suscripción para compartir datos */ interface DataSubject { /** * Realiza la propagación de datos a los suscriptores * @param {T} data - Dato a propagar */ broadcast(data: T): void; /** * Obtiene los datos propagados * @return {T} datos */ get data(): T; /** * Observable de datos * @return {Observer} Observable */ get observer(): Observable; } /** * Servicio para compartir datos * @decorators `@Injectable` */ declare class DataSubjectService implements DataSubject { /** * Crea un nuevo servicio de Datos compartidos */ constructor(); /** * Contiene el subject que emite datos */ private readonly subject; /** * Datos internos */ private _data; /** * Emite los datos a los subscriptores * @param data Datos a emitir */ broadcast(data: T): void; /** * Contiene el ultimo dato emitido */ get data(): T; /** * Observable que notifica los cambios */ get observer(): Observable; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration>; } /** * Servicio para compartir datos entre micro-fronts * @decorators `@Injectable` */ declare class BagDataSubjectService { /** * Crea un nuevo servicio de datos compartido */ constructor(); /** * Obtiene el subjet dada un identificador * @param subject Identificador * @returns Servicio de datos */ getSubject(subject: string): DataSubjectService; /** * Asigna los datos a un servicio mediante su identificador * @param subject Identificador del servicio * @param data Datos a emitir */ setData(subject: string, data: T): void; /** * Obtiene el ultimo dato del servicio especificando su identificador * @param subject Identificador del servicio * @returns Dato */ getData(subject: string): T; /** * Obtiene el observable especificando el servicio * @param subject Identificador del servicio * @returns Observable */ getObservable(subject: string): Observable; /** * Objeto contenedor de los subjects */ private subjects; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * Interface que contiene los filtros de parámetros */ interface QueryFilters { /** * Indica que elementos están seleccionados */ seleccionados: Array; /** * Indica que elementos están deseleccionados */ deseleccionados: Array; /** * Indica que elementos se eliminan */ eliminados: Array; /** * Indica que elementos se filtran */ filtrados: Array; /** * Indica si se selecciona todo */ seleccionarTodo: boolean; /** * Contiene el nombre del servicio que comparten datos */ servicio: string; } /** * Servicio de filtro de datos para query params * @decorators `@Injectable` */ declare class QueryFiltersService { private readonly rutaActiva; /** * Crea una nueva instancia de QueryFilter * @param {ActivatedRoute} rutaActiva - Servicio de ruta */ constructor(rutaActiva: ActivatedRoute); /** * Obtiene los filtros de la ruta * @returns Observable */ getQueryFilters(): Observable; getSnapFilters(state: string): QueryFilters; generateFilter(url: string): QueryFilters | undefined; /** * Obtiene los datos de los parámetros establecidos * @param {Params} param - Parámetros * @param {string} key - Clave del parámetro * @returns Arreglo de parámetros */ private getData; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class FormBindService { constructor(); setValues(entity: T, formGroup: unknown): void; updateValues(entity: T, formGroup: unknown): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class LocationService { private readonly router; constructor(); navigate(path: string): void; getRelative(relativePath?: string): Array; private getCurrentPath; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export { BagDataSubjectService, CsvService, DataSubjectService, FormBindService, LocationService, QueryFiltersService }; export type { QueryFilters };