import type { ObjectOrInterfaceDefinition, ObjectSet, QueryDefinition, SimplePropertyDef, WhereClause } from "@osdk/api";
import { type UseOsdkListResult } from "@osdk/react";
import type { SortingState } from "@tanstack/react-table";
import type { ColumnDefinition, ObjectSetOptions } from "../ObjectTableApi.js";
interface UseObjectTableDataResult<
	Q extends ObjectOrInterfaceDefinition,
	RDPs extends Record<string, SimplePropertyDef> = Record<string, never>
> extends Omit<UseOsdkListResult<Q, RDPs>, "isOptimistic"> {}
/**
* This hook is a wrapper that conditionally uses either useObjectSet or useOsdkObjects
* based on whether an objectSet prop is provided.
* It extracts RDP locators from columnDefinitions and applies withProperties
* to return data containing the derived properties.
*/
export declare function useObjectTableData<
	Q extends ObjectOrInterfaceDefinition,
	RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,
	FunctionColumns extends Record<string, QueryDefinition<{}>> = Record<string, never>
>(objectOrInterfaceType: Q, columnDefinitions?: Array<ColumnDefinition<Q, RDPs, FunctionColumns>>, filter?: WhereClause<Q, RDPs>, sorting?: SortingState, objectSet?: ObjectSet<Q>, objectSetOptions?: ObjectSetOptions<Q>, dedupeIntervalMs?: number, pageSize?: number, streamUpdates?: boolean): UseObjectTableDataResult<Q, RDPs>;
export {};
