import React, { PropsWithChildren } from "react";
import { GameStatus, GameStatusChangeEvent } from "../types";
export type GameContextValue = {
    readonly reset: () => void;
    readonly start: () => void;
    readonly pause: () => void;
    readonly stop: () => void;
    readonly timeout: number;
    readonly status: GameStatus;
    readonly startTime: number | null;
    readonly pauseTime: number;
    readonly endTime: number | null;
};
export type GameContextProviderEvents = {
    onStart?: (event: GameStatusChangeEvent) => unknown;
    onStop?: (event: GameStatusChangeEvent) => unknown;
    onPause?: (event: GameStatusChangeEvent) => unknown;
    onTimedOut?: (event: GameStatusChangeEvent) => unknown;
    onReset?: (event: GameStatusChangeEvent) => unknown;
};
export declare const GameContext: React.Context<GameContextValue>;
export type GameContextProviderProps = PropsWithChildren & {
    timeout?: number;
    events?: GameContextProviderEvents;
};
export declare const GameContextProvider: React.FC<GameContextProviderProps>;
