import { AnyAction } from "redux"; declare const idType: unique symbol; export type Id = string & { readonly [idType]: Component; }; export type ComponentState = Record; type ReduxState = { components: ComponentState; }; export type SetHandler = (value?: Component | ((state: Component) => Component)) => void; export const SET_COMPONENT = "SET_COMPONENT"; export const CLEAR_COMPONENT = "CLEAR_COMPONENT"; export type ComponentStateAction = SetComponentAction | ClearComponentAction; type SetComponentAction = { type: typeof SET_COMPONENT; id: Id; value: Component; }; type ClearComponentAction = { type: typeof CLEAR_COMPONENT; id: Id; }; export const setComponent: (id: Id, value: Component) => SetComponentAction; export const clearComponent: (id: Id) => ClearComponentAction; export const componentExists: (state: State, id: Id) => state is State & { components: Record, Component>; }; export const getComponent: (state: State, id: Id) => Component | undefined; export const getComponentState: (state: State, id: Id, initial: Component) => Component; export const componentStateReducer: (state: ComponentState | undefined, action: AnyAction) => ComponentState; export const useComponentState: (_id: Id, initial: Component) => [Component, SetHandler, boolean]; export const createId: (id: string) => Id; //# sourceMappingURL=index.d.ts.map