/** * AppVersion Provider * * Provider e injection tokens para el servicio de verificación de versión. */ import { EnvironmentProviders, InjectionToken } from '@angular/core'; import { AppVersionHttpConfig, AppVersionPlatformPlugin, AppVersionRemotePlugin, AppVersionServiceConfig } from './types'; /** * Token de inyección para la configuración de AppVersionService. */ export declare const VALTECH_APP_VERSION: InjectionToken>; /** * Token de inyección para el plugin de plataforma nativa. * Provisto opcionalmente por apps que corren en iOS/Android vía Capacitor. */ export declare const APP_VERSION_PLATFORM_PLUGIN: InjectionToken; /** * Token de inyección para el plugin de config remota vía HTTP. * Alternativa a AppConfigService (Firestore) para apps sin Firebase. */ export declare const APP_VERSION_REMOTE_PLUGIN: InjectionToken; /** * Provee el servicio de verificación de versión a la aplicación Angular. * * @param config - `currentVersion` obligatorio (normalmente desde `package.json`). * * @example * ```typescript * provideValtechAppVersion({ currentVersion: pkg.version }) * ``` */ export declare function provideValtechAppVersion(config: AppVersionServiceConfig): EnvironmentProviders; /** * Provee config remota de versiones vía HTTP, como alternativa a AppConfigService (Firestore). * * El endpoint debe retornar `{ version, minVersion? }` o se puede usar `mapResponse` * para adaptar un response existente con otra forma. * * @example * ```typescript * // main.ts — endpoint ya compatible * provideValtechAppVersionHttp({ url: `${env.apiUrl}api/app-version` }) * * // main.ts — adaptar endpoint existente { android, web, minVersion } * provideValtechAppVersionHttp({ * url: `${env.apiUrl}api/version`, * mapResponse: (data: any) => ({ * version: Capacitor.isNativePlatform() ? data.android : (data.web ?? data.android), * minVersion: data.minVersion, * }), * }) * ``` */ export declare function provideValtechAppVersionHttp(config: AppVersionHttpConfig): EnvironmentProviders;