import { StoreApi } from "zustand";
import { PlayerProtocol, PlayerState } from "./player-state";
export type PlayerStore = StoreApi<PlayerState>;
export declare const makePlayerStore: (id?: string) => StoreApi<PlayerState>;
export declare function usePlayerContext(): {
    players: Record<string, StoreApi<PlayerState>>;
    createPlayer: (id?: string) => string;
    removePlayer: (id: string) => void;
};
export declare function getPlayerStoreById(id: string): PlayerStore;
export declare function getFirstPlayerID(): string;
export declare function getPlayerStoreFromContext(): PlayerStore;
export declare function usePlayerStore<U>(selector: (state: PlayerState) => U, playerId?: string): U;
export declare const usePlayerProtocol: (playerId?: string) => [PlayerProtocol, (protocol: PlayerProtocol) => void];
export declare const intoPlayerProtocol: (protocol: string) => PlayerProtocol;
export declare const useOffline: () => boolean;
export declare const useIsMyStream: () => () => boolean;
//# sourceMappingURL=player-store.d.ts.map