/**
 * AppConfig Types
 *
 * Tipos para el servicio de configuración remota de la aplicación.
 */
import { FirestoreDocument } from '../firebase/types';
/**
 * Configuración de la aplicación almacenada en Firestore.
 *
 * @property version - Versión más reciente de la app
 * @property minVersion - Versión mínima soportada (opcional)
 * @property maintenance - Modo mantenimiento global
 * @property features - Feature flags (key-value boolean)
 * @property variables - Variables dinámicas de configuración
 * @property announcements - Anuncios opcionales para mostrar
 */
export interface AppConfig extends FirestoreDocument {
    version: string;
    minVersion?: string;
    maintenance?: boolean;
    features: Record<string, boolean>;
    variables: Record<string, unknown>;
    announcements?: Announcement[];
}
/**
 * Anuncio para mostrar en la aplicación.
 *
 * @property id - Identificador único del anuncio
 * @property type - Tipo de anuncio (info, warning, promo)
 * @property message - Mensaje en múltiples idiomas
 * @property active - Si el anuncio está activo
 * @property link - URL opcional para redirección
 */
export interface Announcement {
    id: string;
    type: 'info' | 'warning' | 'promo';
    message: Record<string, string>;
    active: boolean;
    link?: string;
}
/**
 * Configuración para el proveedor de AppConfigService.
 *
 * @property currentVersion - Versión actual de la aplicación
 * @property showUpdateBanner - Mostrar banner de actualización automáticamente
 */
export interface AppConfigServiceConfig {
    currentVersion: string;
    showUpdateBanner?: boolean;
}
/**
 * Configuración por defecto del servicio.
 */
export declare const DEFAULT_APP_CONFIG_SERVICE_CONFIG: AppConfigServiceConfig;
