import { UISchema } from '../types'; import { PlatformType, ComponentRegistry } from './component-registry'; /** * Platform mapping configuration */ export interface PlatformMapping { /** Property name mappings */ props: Record; /** Style name mappings */ styles: Record; /** Event name mappings */ events: Record; } /** * Platform Adapter class * * Adapts UI schemas between different platforms. */ export declare class PlatformAdapter { private registry?; private customMappings; constructor(registry?: ComponentRegistry); /** * Adapt a schema to target platform * @param schema - Source UI schema * @param targetPlatform - Target platform * @returns Adapted schema */ adapt(schema: UISchema, targetPlatform: PlatformType): UISchema; /** * Get mapping for a component between platforms * @param componentName - Component name * @param _sourcePlatform - Source platform (unused, reserved for future) * @param targetPlatform - Target platform * @returns Platform mapping */ getMapping(componentName: string, _sourcePlatform: PlatformType, targetPlatform: PlatformType): PlatformMapping; /** * Check if a component is supported on a platform * @param componentName - Component name * @param platform - Target platform * @returns True if supported */ isSupported(componentName: string, platform: PlatformType): boolean; /** * Register custom mapping for a component */ registerMapping(componentName: string, platform: PlatformType, mapping: PlatformMapping): void; /** * Get all unsupported components for a platform */ getUnsupportedComponents(platform: PlatformType): string[]; } /** * Create a platform adapter */ export declare function createPlatformAdapter(registry?: ComponentRegistry): PlatformAdapter; //# sourceMappingURL=platform-adapter.d.ts.map