import type { AggregateColumnWindowSummary, AggregateStateEntry, AggregateStateStore } from '../../deps/aggregate-state-store.js';
import type { RegionGraph } from '../../deps/region-graph.js';
export interface RangeAggregateCacheService {
    readonly getOrBuildPrefix: (request: {
        sheetName: string;
        rowStart: number;
        rowEnd: number;
        col: number;
    }, aggregateKind?: 'sum' | 'average' | 'count' | 'min' | 'max') => AggregateStateEntry;
    readonly getOrBuildColumnPrefix: (request: {
        sheetName: string;
        rowStart: number;
        rowEnd: number;
        col: number;
    }, aggregateKind?: 'sum' | 'average' | 'count' | 'min' | 'max') => AggregateStateEntry;
    readonly summarizeColumnWindow: (request: {
        sheetName: string;
        rowStart: number;
        rowEnd: number;
        col: number;
    }) => AggregateColumnWindowSummary | undefined;
    readonly hasReusableColumnPrefix: (request: {
        sheetName: string;
        rowStart: number;
        rowEnd: number;
        col: number;
    }, aggregateKind?: 'sum' | 'average' | 'count' | 'min' | 'max') => boolean;
}
export declare function createRangeAggregateCacheService(args: {
    readonly regionGraph: Pick<RegionGraph, 'internSingleColumnRegion'>;
    readonly aggregateStateStore: AggregateStateStore;
}): RangeAggregateCacheService;
