import type { ObjectTypeDefinition } from "@osdk/api";
import type { FilterDefinitionUnion } from "../FilterListApi.js";
interface FilterVisibilityResult<D> {
	visibleDefinitions: Array<D>;
	hiddenDefinitions: Array<D>;
	showFilter: (key: string) => void;
	hideFilter: (key: string) => void;
	reorderVisible: (keys: string[]) => void;
	hasVisibilityChanges: boolean;
	resetVisibility: () => void;
}
export declare function useFilterVisibility<Q extends ObjectTypeDefinition>(filterDefinitions: Array<FilterDefinitionUnion<Q>> | undefined, onVisibilityChange?: (visibleKeys: string[], hiddenKeys: string[]) => void): FilterVisibilityResult<FilterDefinitionUnion<Q>>;
export {};
