import loader from '@assemblyscript/loader';
import { Candle } from './types';
declare type StrategyInput = {
    currentTime: number;
};
export declare class Strategy {
    private filePath;
    module: any;
    private results;
    config: {
        [key: string]: any;
    };
    configParams: {
        [key: string]: any;
    };
    candles: Candle[];
    numCandles: number;
    constructor(strategyPath: string);
    load(): Promise<loader.ResultObject & {
        exports: loader.ASUtil & Record<string, unknown>;
    }>;
    setNumCandles(num: number): void;
    reloadExecute(data: StrategyInput): Promise<any[]>;
    private _getConfig;
    getConfig(): Promise<{
        [key: string]: any;
    }>;
    setConfigParams(configParams: {
        [key: string]: any;
    }): {
        [key: string]: any;
    };
    setCandles(candles: Candle[]): Candle[];
    validateParams(configParams: string): [boolean, {
        [key: string]: any;
    } | undefined];
    getResults(): any[];
}
export {};
