import { type CompiledCriteriaMatcher } from '@bilig/formula';
import type { CellValue } from '@bilig/protocol';
import type { CriterionRowSetView } from './criterion-rowset-view.js';
import type { EngineRuntimeColumnStoreService, RuntimeColumnView } from './runtime-column-store-service.js';
import type { CriterionCompoundExactAggregateRequest, CriterionExactAggregateBucket, CriterionExactAggregateRequest, CriterionRangeDescriptor, SliceFastPredicate } from './criterion-range-cache-service.js';
export declare function getOrBuildIndexedPredicateAggregateFromColumnViews(args: {
    readonly request: CriterionCompoundExactAggregateRequest;
    readonly runtimeColumnStore: EngineRuntimeColumnStoreService;
    readonly getColumnView: (request: CriterionRangeDescriptor) => RuntimeColumnView;
    readonly buildSlicePredicate: (compiled: CompiledCriteriaMatcher) => SliceFastPredicate;
    readonly readIndexedEqualityRows: (view: RuntimeColumnView, predicate: SliceFastPredicate, runtimeColumnStore: EngineRuntimeColumnStoreService) => CriterionRowSetView | undefined;
    readonly slicePredicateMatches: (predicate: SliceFastPredicate, view: RuntimeColumnView, offset: number, runtimeColumnStore: EngineRuntimeColumnStoreService) => boolean;
    readonly createExactAggregateBucket: () => CriterionExactAggregateBucket;
    readonly addExactAggregateMatch: (bucket: CriterionExactAggregateBucket, aggregateView: RuntimeColumnView | undefined, offset: number) => void;
    readonly exactAggregateValueFromBucket: (bucket: CriterionExactAggregateBucket | undefined, aggregateKind: CriterionExactAggregateRequest['aggregateKind']) => CellValue;
}): CellValue | undefined;
