import type { CapabilityRegistry } from '../capabilities';
import type { DataViewRegistry } from '../data-views/registry';
import type { FormRegistry } from '../forms/forms';
import type { JobSpecRegistry } from '../jobs/spec';
import type { KnowledgeSpaceRegistry } from '../knowledge/spec';
import type { PolicyRegistry } from '../policy/registry';
import type { PresentationSpec } from '../presentations/presentations';
import type { TelemetryRegistry } from '../telemetry/spec';
import type { TranslationRegistry } from '../translations/registry';
import type { VisualizationRegistry } from '../visualizations/registry';
import type { WorkflowRegistry } from '../workflow/spec';
import type { FeatureRegistry } from './registry';
import type { FeatureModuleSpec } from './types';
export interface FeatureIntegrationLookup {
    get(key: string, version?: string): unknown;
}
/** Dependencies for installing a feature. */
export interface InstallFeatureDeps {
    features: FeatureRegistry;
    ops?: import('../operations/registry').OperationSpecRegistry;
    presentations?: import('../presentations').PresentationRegistry;
    descriptors?: PresentationSpec[];
    capabilities?: CapabilityRegistry;
    workflows?: WorkflowRegistry;
    knowledge?: KnowledgeSpaceRegistry;
    telemetry?: TelemetryRegistry;
    policies?: PolicyRegistry;
    integrations?: FeatureIntegrationLookup;
    jobs?: JobSpecRegistry;
    translations?: TranslationRegistry;
    dataViews?: DataViewRegistry;
    visualizations?: VisualizationRegistry;
    forms?: FormRegistry;
}
/** Validate and register a feature against optional registries/descriptors. */
export declare function installFeature(feature: FeatureModuleSpec, deps: InstallFeatureDeps): FeatureRegistry;
