import { OnChangeFn } from '@tanstack/react-table';
/**
 * This hook provides a state fallback for different table features such as pinning, rowExpansion, rowSelection
 * - It has inner state which will be used as a fallback for some functionality when nothing is passed from outside
 * - If state and updater function is passed from outside - hook will call passed updater function with new inner state. So that consumer is notified of inner state changes if needed
 * - If state and updater function is passed from outside, and then external state is updated by some logic - external state will take precedence and inner state will be synced with it
 * @param onExternalStateUpdate - function passed from the consumer to be invoked with new updated inner state
 * @param externalState - state passed from the consumers side. Take precedence over inner state. But should be updated on consumer's side if passed
 * @param decoratorFn - optional decorator function that will be called before setting new state
 */
export declare function useInnerStateFallback<StateType>(onExternalStateUpdate: (data: StateType) => void, externalState?: StateType, decoratorFn?: (data: StateType) => StateType): [StateType, OnChangeFn<StateType>];
