import type { Engine } from "../../engine";
import type { Game } from "../../types";
import { adapters } from "../adapters";
export interface BotWrapperConfig {
    pps: number;
}
export declare class BotWrapper<T extends adapters.Types.CustomMessageData = adapters.Types.CustomMessageData> {
    config: BotWrapperConfig;
    adapter: adapters.Adapter<T>;
    nextFrame: number;
    needsNewMove: boolean;
    static nextFrame(engine: Engine, target: number): number;
    static frames(engine: Engine, keys: adapters.Types.AdapterKey[]): Game.Tick.Keypress[];
    constructor(adapter: adapters.Adapter<T>, config: BotWrapperConfig);
    init(engine: Engine, config?: T["config"]): Promise<void>;
    tick(engine: Engine, events: Game.Client.Event[], data?: Partial<Pick<T, "state" | "play">>): Promise<Game.Tick.Keypress[]>;
    stop(): void;
}
//# sourceMappingURL=index.d.ts.map