import { OnModuleInit } from '@nestjs/common'; import { ChannelCategory } from '../../../modules/devices/devices.constants'; import { AnyDerivation, DerivationDefinition, MappingContext, MappingFileInfo, MappingLoadResult, ResolvedMapping } from './mapping.types'; import { TransformerRegistry } from './transformers'; export declare class MappingLoaderService implements OnModuleInit { private readonly transformerRegistry; private readonly logger; private readonly ajv; private readonly validateSchema; private readonly derivationRegistry; private resolvedMappings; private loadedSources; private readonly mappingCache; private readonly builtinMappingsPath; private readonly userMappingsPath; private readonly userDataDir; private static readonly USER_FILE_PREFIX; constructor(transformerRegistry: TransformerRegistry); onModuleInit(): void; private loadDerivationRules; loadAllMappings(): void; private validatePath; private discoverMappingFiles; loadMappingFile(fileInfo: MappingFileInfo): MappingLoadResult; private resolveMapping; private resolveMatchCondition; private resolveChannel; private resolveProperty; private resolvePanelProperty; private resolveStaticProperty; private resolveDerivedProperty; private resolveComponentType; private resolveDeviceCategory; private resolveChannelCategory; private resolvePropertyCategory; private resolveDataType; getMappings(): ResolvedMapping[]; private getCacheKey; findMatchingMapping(context: MappingContext): ResolvedMapping | undefined; private matchesCondition; private matchesSimpleConditions; getDerivedPropertiesForChannel(channelCategory: ChannelCategory): Array<{ identifier: string; sourceProperty: string; derivation: AnyDerivation; }>; getLoadResults(): MappingLoadResult[]; reload(): { success: boolean; errors: number; warnings: number; mappingsLoaded: number; filesLoaded: number; filesFailed: number; }; clearCache(): void; getCacheStats(): { size: number; mappingsLoaded: number; }; getUserMappingsPath(): string | null; getUserDataDir(): string; getBuiltinMappingsPath(): string; getDerivation(name: string): DerivationDefinition | undefined; hasDerivation(name: string): boolean; interpolateTemplate(template: string, context: MappingContext): string; private validateMapping; }