import type { ObjectSet, ObjectTypeDefinition, PropertyKeys, WhereClause } from "@osdk/api";
export type { PropertyAggregationValue } from "../types/AggregationTypes.js";
import type { PropertyAggregationValue } from "../types/AggregationTypes.js";
export interface UsePropertyAggregationResult {
	data: PropertyAggregationValue[];
	maxCount: number;
	isLoading: boolean;
	error: Error | null;
}
export interface UsePropertyAggregationOptions<Q extends ObjectTypeDefinition = ObjectTypeDefinition> {
	limit?: number;
	where?: WhereClause<Q>;
	sortBy?: "count" | "value";
	/** Selected values to include in results even when they have zero matching
	*  rows (e.g. saved filter selections from initialFilterStates). */
	activeValues?: string[];
}
export declare function usePropertyAggregation<
	Q extends ObjectTypeDefinition,
	K extends PropertyKeys<Q>
>(objectType: Q, propertyKey: K, objectSet: ObjectSet<Q> | undefined, options?: UsePropertyAggregationOptions<Q>): UsePropertyAggregationResult;
