import type { Player } from "../../types.js";
export declare const EdenWebsocketMessageTypes: {
    readonly playerUpdate: "player-update";
    readonly playersSync: "players-sync";
};
type EdenWebsocketMessageType = (typeof EdenWebsocketMessageTypes)[keyof typeof EdenWebsocketMessageTypes];
interface BaseWebsocketMessage {
    type: EdenWebsocketMessageType;
}
export interface PlayerUpdateMessage extends BaseWebsocketMessage {
    type: typeof EdenWebsocketMessageTypes.playerUpdate;
    clientId: string;
    firstName: string;
    lastName: string;
    path: string;
}
export interface PlayersSyncMessage extends BaseWebsocketMessage {
    type: typeof EdenWebsocketMessageTypes.playersSync;
    players: Player[];
}
export type EdenOutgoingWebsocketMessage = PlayerUpdateMessage;
export type EdenIncomingWebsocketMessage = PlayersSyncMessage;
export declare function parseIncomingWebsocketMessage(raw: unknown): EdenIncomingWebsocketMessage | undefined;
export declare function buildPlayerUpdateMessage(payload: Omit<PlayerUpdateMessage, "type">): PlayerUpdateMessage;
export {};
//# sourceMappingURL=contracts.d.ts.map