import { SupportedPlatforms } from "./component";
export interface ComponentDefinition {
    /** Display name for the component */
    displayName: string;
    /** Base filename for downloads (without extension) */
    name: string;
    /** Whether license validation is required */
    licenseRequired: boolean;
    /** Supported platforms */
    platforms: Array<SupportedPlatforms>;
    /** Description of the component */
    description: string;
    /** Is the component required for the application to run */
    required?: boolean;
}
/**
 * Central registry of all known components with their static metadata
 * It is best if this goes to cli configuration
 */
export declare class ComponentsRegistry {
    private static COMPONENT_REGISTRY;
    static getComponents(): ComponentDefinition[];
    /**
     * Get component definition by name
     */
    static getComponentDefinition(componentName: string): ComponentDefinition | undefined;
    /**
     * Get all known component names
     */
    static getAllComponentNames(): string[];
    /**
     * Get components that support a specific platform
     */
    static getComponentsForPlatform(platform: SupportedPlatforms): string[];
    /**
     * Check if a component exists and supports a platform
     */
    static isComponentSupported(componentName: string, platform: SupportedPlatforms): boolean;
}
//# sourceMappingURL=components.registry.d.ts.map