import { ApplicationStateValue } from "@intelligentgraphics/igd.productdata";
export declare type TypedUseApplicationStateSubscription<StateType extends ApplicationStateValue> = <T = StateType>(selector?: (value: StateType) => T) => [T, <K extends keyof StateType>(update: Pick<StateType, K>) => void];
export declare const useApplicationStateSubscription: <T = ApplicationStateValue>(selector?: (value: ApplicationStateValue) => T) => [T, <K extends keyof T>(update: Pick<T, K>) => void];
export declare type TypedUseApplicationStateValueSubscription<StateType extends ApplicationStateValue> = <K extends keyof StateType>(key: K) => [StateType[K], (newValue: StateType[K]) => void];
export declare const useApplicationStateValueSubscription: <K extends "selection">(key: K) => [ApplicationStateValue[K], (value: ApplicationStateValue[K]) => void];
