import { UnpackLazyActiveObject } from '@easy-coder/sdk/helper';
import { EasyCoderEvent } from '@easy-coder/sdk/event';
import { ClassName, StyleVarGroup } from '@easy-coder/sdk/style';
import { StoreContext } from './base';
import { EasyCoderState, GlobalVariable } from '../type';

export interface EasyCoderStore {
    state?: EasyCoderState.Desc;
    globalVariable?: Record<string, GlobalVariable>;
    globalClassName?: Record<string, ClassName>;
    globalStyleVarGroups?: StyleVarGroup[];
    eventFlow?: Record<string, EasyCoderEvent.EventFlow<any>>;
}
interface Props extends Partial<Pick<UnpackLazyActiveObject<StoreContext>, 'state' | 'elements' | 'env' | 'globalVariable' | 'globalClassName' | 'globalStyleVarGroups' | 'eventFlow' | 'fetchElementByType' | 'getModalContainer'>> {
    children?: React.ReactNode;
    onChange?: (store: EasyCoderStore) => void;
}
export default function StoreProvider({ children, state, elements, env, globalVariable, globalClassName, globalStyleVarGroups, eventFlow, fetchElementByType, getModalContainer, onChange, }: Props): import("react/jsx-runtime").JSX.Element;
export {};
