import { StateAdapt } from './state-adapt'; import { GlobalStore } from './observable-store'; import { ConfigureStateAdaptOptions } from './configure-state-adapt.options'; /** * @internal */ export type ConfiguredStateAdapt = GlobalStore> = Pick, 'adapt' | 'watch'> & Pick; /** `configureStateAdapt` takes in a {@link ConfigureStateAdaptOptions} object and returns a new instance of {@link StateAdapt}. ### Example: Standalone with default options ```ts import { actionSanitizer, stateSanitizer } from '@state-adapt/core'; import { configureStateAdapt } from '@state-adapt/rxjs'; export const stateAdapt = configureStateAdapt(); export const { adapt, watch } = stateAdapt; ``` ### Example: Standalone ```ts import { actionSanitizer, stateSanitizer } from '@state-adapt/core'; import { configureStateAdapt } from '@state-adapt/rxjs'; export const stateAdapt = configureStateAdapt({ devtools: (window as any)?.__REDUX_DEVTOOLS_EXTENSION__?.({ actionSanitizer, stateSanitizer, }), showSelectors: false, }); export const { adapt, watch } = stateAdapt; ``` ### Example: With another store ```ts import { configureStore } from '@reduxjs/toolkit'; // or any other Redux-like store import { configureStateAdapt } from '@state-adapt/rxjs'; import { reducer } from './reducer'; const store = configureStore({ reducer }); export const stateAdapt = configureStateAdapt({ store }); export const { adapt, watch } = stateAdapt; ``` */ export declare function configureStateAdapt = GlobalStore>(options?: ConfigureStateAdaptOptions): Pick, 'adapt' | 'watch'>;