import { Constructor, ERunType, IChangeStateFields, IRun } from "./types";
/**
 *
 * @param type
 * @param changeStateFields
 */
export declare const withRun: <TBase extends Constructor>(type?: ERunType, changeStateFields?: IChangeStateFields) => (CanvasObjectClass: TBase) => {
    new (...args: any[]): {
        _interval: NodeJS.Timer | null;
        run: IRun;
        readonly canvasObject?: boolean;
        isOver: boolean; /**
         *
         * @param CanvasObjectClass - Класс должен иметь поле step, стейты x, y
         */
        object: Path2D;
        listeners: Partial<Record<import("../..").ActionTypes, import("../..").ActionCallbackType>>;
        draw: (canvas: import("../..").Canvas) => void;
        state: Record<string, any>;
        setState: (arg: import("../../components/GameObject").CanvasObjectSetState<Record<string, any>>) => void;
        addEventListener: (type: import("../..").ActionTypes, cb: import("../..").ActionCallbackType) => void;
        map: import("../..").MapType;
        id: string | number;
        gridColor: string;
        isCb: (arg: import("../../components/GameObject").CanvasObjectSetState<Record<string, any>>) => arg is import("../../components/GameObject").CanvasObjectSetStateCb<Record<string, any>>;
    };
} & TBase;
