import * as React from 'react'; import { IStoreState } from '../index.data'; import { Store } from 'unistore'; import { getCommands, getQueries } from './helper'; import { Props } from './index.data'; import { SpreadSheetRuntime } from '../RuntimeContext'; /** * 以后对外提供controller都在这里实现 */ declare class SpreadSheetProvider extends React.Component { store: Store; commands: ReturnType; queries: ReturnType; runtime: SpreadSheetRuntime; getNormalizedState(shouldRecalculate?: boolean): IStoreState; constructor(props: Props); /** * 非常重要! * 它确保了 外部组件不会刷新 SpreadSheetProvider, 从而避免了 错误地重新初始化store * 相关思考: https://github.com/g770728y/valor-blog/issues/11#issuecomment-572336775 **/ shouldComponentUpdate(): boolean; setDisableAutoCalculate(disableAutoCalculate: boolean): void; batchUpdate(updateFn: () => void): void; componentWillUnmount(): void; componentDidMount(): void; notifySelectionChanged(state: IStoreState): void; render(): JSX.Element; } export default SpreadSheetProvider;