import { ReactNode } from 'react';
import { AnyGame, GamePlayers, MatchInput } from '@openturn/core';
import { OpenturnBindings, OpenturnMatchStore } from '@openturn/react';
import { ReplayTimeline, SavedReplayEnvelope } from '@openturn/replay';
export interface InspectorProps<TGame extends AnyGame> {
    matchStore: OpenturnMatchStore<TGame>;
    match: MatchInput<GamePlayers<TGame>>;
    children: ReactNode;
    active?: boolean;
    playerID?: GamePlayers<TGame>[number];
}
type ReplayInspectorSourceProps<TGame extends AnyGame> = {
    replayEnvelope: SavedReplayEnvelope<GamePlayers<TGame>>;
    replayTimeline?: never;
} | {
    replayEnvelope?: never;
    replayTimeline: ReplayTimeline<TGame>;
};
export type ReplayInspectorProps<TGame extends AnyGame> = ReplayInspectorSourceProps<TGame> & {
    children: ReactNode;
    playerID?: GamePlayers<TGame>[number];
};
export declare function createLocalInspector<TGame extends AnyGame>(bindings: OpenturnBindings<TGame>): (props: InspectorProps<TGame>) => import("react/jsx-runtime").JSX.Element;
export declare function createSavedReplayInspector<TGame extends AnyGame>(bindings: OpenturnBindings<TGame>): (props: ReplayInspectorProps<TGame>) => import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=inspector-wrapper.d.ts.map