import type Database from "better-sqlite3";
type SqliteDatabase = InstanceType<typeof Database>;
export declare function readSqliteUserVersion(db: SqliteDatabase): number;
export declare function featureRegistryActiveOnConnection(db: SqliteDatabase): boolean;
export declare function loadTaskFeatureLinkMap(db: SqliteDatabase): Map<string, string[]> | null;
export declare function loadKnownFeatureSlugSetFromDb(db: SqliteDatabase): Set<string> | null;
/** Known feature ids: registry when active, else taxonomy JSON (dev / tests). */
export declare function resolveKnownFeatureSlugSet(db: SqliteDatabase | null): Set<string>;
export type RegistryComponentRow = {
    id: string;
    displayName: string;
    sortOrder: number;
};
export declare function listRegistryComponents(db: SqliteDatabase): RegistryComponentRow[];
export type RegistryFeatureRow = {
    id: string;
    componentId: string;
    name: string;
    covers: string;
};
export declare function listRegistryFeatures(db: SqliteDatabase, componentId?: string): RegistryFeatureRow[];
export declare function listFeatureIdsForComponent(db: SqliteDatabase, componentId: string): string[];
export declare function replaceAllTaskFeatureLinks(db: SqliteDatabase, tasks: {
    id: string;
    features?: string[];
}[]): void;
export declare function replaceTaskFeatureLinksForTasks(db: SqliteDatabase, tasks: {
    id: string;
    features?: string[];
}[]): void;
export type FeatureEnrichment = {
    slug: string;
    name: string;
    componentId: string;
    componentDisplayName: string;
};
/** Batch-resolve feature slugs for dashboard / extension rows (no N+1). */
export declare function buildFeatureEnrichmentBySlug(db: SqliteDatabase | null): Map<string, FeatureEnrichment>;
export {};
