import 'dayjs/locale/zh-cn';
import { ExpChunk } from '@sunmao-ui/shared';
declare type EvalOptions = {
    evalListItem?: boolean;
    scopeObject?: Record<string, any>;
    overrideScope?: boolean;
    fallbackWhenError?: (exp: string) => any;
    noConsoleError?: boolean;
    ignoreEvalError?: boolean;
};
export declare class ExpressionError extends Error {
    constructor(message: string);
}
export declare type StateManagerInterface = InstanceType<typeof StateManager>;
export declare class StateManager {
    store: {
        [x: string]: any;
    };
    dependencies: Record<string, unknown>;
    constructor(dependencies?: Record<string, unknown>);
    clear: () => void;
    evalExp: (expChunk: ExpChunk, options: EvalOptions) => unknown;
    maskedEval(raw: string, options?: EvalOptions): unknown | ExpressionError;
    mapValuesDeep<T extends object>(obj: T, fn: (params: {
        value: T[keyof T];
        key: string | number;
        obj: T;
        path: Array<string | number>;
    }) => void, path?: Array<string | number>): T;
    deepEval<T extends Record<string, unknown>>(obj: T, options?: EvalOptions): T;
    deepEvalAndWatch<T extends Record<string, unknown>>(obj: T, watcher: (params: {
        result: T;
    }) => void, options?: EvalOptions): {
        result: T;
        stop: () => void;
    };
    setDependencies(dependencies?: Record<string, unknown>): void;
}
export {};
