export interface Feature {
    id: string;
    name: string;
    description: string;
    dependencies: string[];
    peerDependencies: string[];
    isNodeOnly: boolean;
    isBrowserOnly: boolean;
    initFunction?: () => Promise<void>;
}
export interface FeatureRegistry {
    registerFeature: (feature: Feature) => void;
    getFeature: (id: string) => Feature | undefined;
    getAllFeatures: () => Feature[];
    getInstalledFeatures: () => string[];
    setInstalledFeature: (id: string) => void;
    removeInstalledFeature: (id: string) => void;
}
