import { EnvironmentProviders, InjectionToken } from '@angular/core'; import { HttpInterceptorFn } from '@angular/common/http'; import { NGX_FORMS_LIST_PAGE_SIZE } from './storage/http-storage.adapter'; import { NgxFormsAuthService, NgxFormsAuthOptions, NGX_FORMS_AUTH } from './auth/ngx-forms-auth.service'; export { NgxFormsAuthService, NgxFormsAuthOptions, NGX_FORMS_AUTH }; /** * URL de base utilisée pour charger les options des champs select/multiselect/radio * via la propriété `url` d'un DynamicFormField. */ export declare const NGX_DATA_API_URL: InjectionToken; /** * Locale utilisée par le DateAdapter natif pour l'affichage des champs `type: 'date'` * (format du texte tapé/affiché + noms de mois/jours du calendrier). Une locale plutôt * qu'un motif de format arbitraire : réutilise le formatage Intl natif du navigateur, * pas de nouveau parseur de format à maintenir. Surchargeable par champ via * `DynamicFormField.dateLocale`. */ export declare const NGX_DATE_LOCALE: InjectionToken; export { NGX_FORMS_LIST_PAGE_SIZE }; /** * Intercepteur HTTP fonctionnel — ajoute `Authorization: Bearer ` si * NgxFormsAuthService est fourni (via `auth` dans provideNgxForms). * No-op si l'auth n'est pas configurée. * * À ajouter dans `provideHttpClient(withInterceptors([ngxFormsAuthInterceptor]))`. */ export declare const ngxFormsAuthInterceptor: HttpInterceptorFn; export interface NgxFormsLocalOptions { storage: 'local'; /** URL de base pour le chargement dynamique des options de champs */ dataUrl?: string; /** Configuration d'authentification par token (optionnel) */ auth?: NgxFormsAuthOptions; /** Locale par défaut des champs `type: 'date'` (ex: 'fr-FR', 'en-US'). @default 'fr-FR' */ dateLocale?: string; } export interface NgxFormsHttpOptions { storage: 'http'; /** URL de base de l'API de stockage des formulaires */ apiUrl: string; /** URL de base pour le chargement dynamique des options de champs */ dataUrl?: string; /** Configuration d'authentification par token (optionnel) */ auth?: NgxFormsAuthOptions; /** Locale par défaut des champs `type: 'date'` (ex: 'fr-FR', 'en-US'). @default 'fr-FR' */ dateLocale?: string; /** * Taille de page pour charger le catalogue de formulaires sauvegardés * (`GET {apiUrl}?page=0&size=...`). @default 1000 */ listPageSize?: number; } export type NgxFormsOptions = NgxFormsLocalOptions | NgxFormsHttpOptions; export declare function provideNgxForms(options: NgxFormsOptions): EnvironmentProviders;