## API Report File for "opensearch-dashboards" > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts import { ComponentType } from 'react'; import { Ensure } from '@osd/utility-types'; import { FC } from 'react'; import { Observable } from 'rxjs'; import React from 'react'; // @public export type BaseState = object; // @public export interface BaseStateContainer { get: () => State; set: (state: State) => void; // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "opensearch-dashboards" does not have an export "Observable" state$: Observable; } // @public export type Comparator = (previous: Result, current: Result) => boolean; // @public export type Connect = (mapStateToProp: MapStateToProps>) => (component: ComponentType) => FC>; // @public export function createStateContainer(defaultState: State): ReduxLikeStateContainer; // @public export function createStateContainer(defaultState: State, pureTransitions: PureTransitions): ReduxLikeStateContainer; // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "opensearch-dashboards" does not have an export "PureSelectors" // // @public export function createStateContainer(defaultState: State, pureTransitions: PureTransitions, pureSelectors: PureSelectors, options?: CreateStateContainerOptions): ReduxLikeStateContainer; // @public export interface CreateStateContainerOptions { freeze?: (state: T) => T; } // @public export const createStateContainerReactHelpers: >() => { Provider: React.Provider; Consumer: React.Consumer; context: React.Context; useContainer: () => Container; useState: () => UnboxState; useTransitions: () => Container["transitions"]; useSelector: (selector: (state: UnboxState) => Result, comparator?: Comparator) => Result; connect: Connect>; }; // @public export type Dispatch = (action: T) => void; // @public (undocumented) export type EnsurePureSelector = Ensure>; // Warning: (ae-incompatible-release-tags) The symbol "EnsurePureTransition" is marked as @public, but its signature references "PureTransition" which is marked as @internal // // @public (undocumented) export type EnsurePureTransition = Ensure>; // @public export type MapStateToProps = (state: State) => StateProps; // Warning: (ae-incompatible-release-tags) The symbol "Middleware" is marked as @public, but its signature references "TransitionDescription" which is marked as @internal // // @public export type Middleware = (store: Pick, 'getState' | 'dispatch'>) => (next: (action: TransitionDescription) => TransitionDescription | any) => Dispatch; // @public (undocumented) export type PureSelector = (state: State) => Selector; // @public (undocumented) export type PureSelectorsToSelectors = { [K in keyof T]: PureSelectorToSelector>; }; // @public (undocumented) export type PureSelectorToSelector> = ReturnType>; // @internal (undocumented) export type PureTransition = (state: State) => Transition; // @internal (undocumented) export type PureTransitionsToTransitions = { [K in keyof T]: PureTransitionToTransition>; }; // @internal (undocumented) export type PureTransitionToTransition> = ReturnType; // Warning: (ae-incompatible-release-tags) The symbol "Reducer" is marked as @public, but its signature references "TransitionDescription" which is marked as @internal // // @public export type Reducer = (state: State, action: TransitionDescription) => State; // @public export interface ReduxLikeStateContainer extends StateContainer { // (undocumented) addMiddleware: (middleware: Middleware) => void; // Warning: (ae-incompatible-release-tags) The symbol "dispatch" is marked as @public, but its signature references "TransitionDescription" which is marked as @internal // // (undocumented) dispatch: (action: TransitionDescription) => void; // (undocumented) getState: () => State; // (undocumented) reducer: Reducer; // (undocumented) replaceReducer: (nextReducer: Reducer) => void; // (undocumented) subscribe: (listener: (state: State) => void) => () => void; } // @public (undocumented) export type Selector = (...args: Args) => Result; // @public export interface StateContainer extends BaseStateContainer { // (undocumented) selectors: Readonly>; // Warning: (ae-incompatible-release-tags) The symbol "transitions" is marked as @public, but its signature references "PureTransitionsToTransitions" which is marked as @internal // // (undocumented) transitions: Readonly>; } // @internal (undocumented) export type Transition = (...args: Args) => State; // @internal (undocumented) export interface TransitionDescription { // (undocumented) args: Args; // (undocumented) type: Type; } // @public export type UnboxState> = Container extends StateContainer ? T : never; // @public export const useContainerSelector: , Result>(container: Container, selector: (state: UnboxState) => Result, comparator?: Comparator) => Result; // @public export const useContainerState: >(container: Container) => UnboxState; ```