import type { ObjectOrInterfaceDefinition, ObjectSet, SimplePropertyDef } from "@osdk/api";
import type { UseRowSelectionChange } from "../hooks/useRowSelection.js";
/**
* Derives the object set representing the current row selection.
*
* The selection is filtered down to the selected primary keys via the
* `$primaryKey` special property, so this works for both object and interface
* types without resolving the underlying primary key property name. When every
* row is selected, the full `resultingObjectSet` is returned unchanged.
*
* Returns `undefined` when there is no resulting object set to derive from.
*/
export declare function deriveSelectionObjectSet<
	Q extends ObjectOrInterfaceDefinition,
	RDPs extends Record<string, SimplePropertyDef> = Record<string, never>
>(resultingObjectSet: ObjectSet<Q, RDPs> | undefined, change: UseRowSelectionChange<Q, RDPs>): ObjectSet<Q, RDPs> | undefined;
