import { CreateSelectorFunction } from 'reselect';
import { ChartAnyPluginSignature, ChartState } from "../models/index.js";
export type ChartRootSelector<TSignature extends ChartAnyPluginSignature> = <TSignatures extends [TSignature]>(state: ChartState<TSignatures>) => TSignature['state'][keyof TSignature['state']];
export type ChartOptionalRootSelector<TSignature extends ChartAnyPluginSignature> = <TSignatures extends [TSignature]>(state: ChartState<[], TSignatures>) => TSignature['state'][keyof TSignature['state']] | undefined;
export type ChartsSelector<TState, TArgs, TResult> = (state: TState, args: TArgs) => TResult;
/**
 * Method wrapping reselect's createSelector to provide caching for chart instances.
 *
 */
export declare const createSelector: CreateSelectorFunction;