import { FactoryApiExecutionRequest, FactoryApiExecutionStatus, FactoryApiIngest, ITrialIngest } from "./api/FactoryApiIngest";
import { ITrial } from "./Trial";
import { IGameFlowCircuitTick, IGameFlowElectricTick, IGameFlowItemTick, IGameFlowPollutionTick, IGameFlowSystemTick } from "./Dataset";
export type TFactoryApiQueryVariant = 'status' | 'source' | 'modlist' | 'trial' | 'data_item' | 'data_electric' | 'data_circuit' | 'data_pollution' | 'data_system' | 'data_all';
export declare class FactorioAnalyticsApi {
    static queryStatusOnTick(execId: string, interval?: number): Promise<FactoryApiExecutionStatus>;
    static submit(params: FactoryApiIngest): Promise<any>;
    static submitSource(bpStr: string): Promise<string>;
    static submitTrial(trialParams: ITrialIngest): Promise<FactoryApiExecutionRequest>;
    static submitQuick(bpStr: string, modList?: string[]): Promise<FactoryApiExecutionRequest>;
    static submitModList(mods: string[]): Promise<void>;
    static query(variant: TFactoryApiQueryVariant, id: string): Promise<any>;
    static queryTrial(id: string): Promise<ITrial>;
    static querySource(id: string): Promise<string>;
    static queryStatus(execId: string): Promise<FactoryApiExecutionStatus>;
    static queryItemData(id: string): Promise<IGameFlowItemTick[]>;
    static queryElectricData(id: string): Promise<IGameFlowElectricTick[]>;
    static queryCircuitData(id: string): Promise<IGameFlowCircuitTick[]>;
    static queryPollutionData(id: string): Promise<IGameFlowPollutionTick[]>;
    static querySystemData(id: string): Promise<IGameFlowSystemTick[]>;
    static queryAllData(id: string): Promise<{
        item: IGameFlowItemTick[];
        electric: IGameFlowElectricTick[];
        circuit: IGameFlowCircuitTick[];
        pollution: IGameFlowPollutionTick[];
        system: IGameFlowSystemTick[];
    }>;
}
