import type EventEmitter from 'events';
import type { LogProvider } from '../../logger.js';
import type { IFeatureSearchOverview, IFeatureSearchStore, IFlagResolver } from '../../types/index.js';
import type { Db } from '../../db/db.js';
import type { IFeatureSearchParams, IQueryParam } from '../feature-toggle/types/feature-toggle-strategies-store-type.js';
declare class FeatureSearchStore implements IFeatureSearchStore {
    private db;
    private readonly timer;
    constructor(db: Db, eventBus: EventEmitter, _getLogger: LogProvider, _flagResolver: IFlagResolver);
    private static getEnvironment;
    searchFeatures({ userId, searchParams, status, offset, limit, lifecycle, sortOrder, sortBy, archived, favoritesFirst, }: IFeatureSearchParams, queryParams: IQueryParam[]): Promise<{
        features: IFeatureSearchOverview[];
        total: number;
    }>;
    private queryExtraData;
    private queryMetrics;
    private queryStrategiesByEnvironment;
    private buildReleasePlanSql;
    private buildChangeRequestSql;
    private buildRankingSql;
    getAggregatedSearchData(rows: any): IFeatureSearchOverview[];
    private addTag;
    private rowToTag;
    private isTagRow;
    private isNewTag;
}
export default FeatureSearchStore;
//# sourceMappingURL=feature-search-store.d.ts.map