import { type RenderHookResult } from "@testing-library/react"; import { type AxiosMockHandle } from "../../test-utils"; import { type ChatContextValue } from "../../context/chat-context"; import type { AuthUser } from "../../interfaces/models/User"; export declare function makeFakeSocket(): { emit: import("vitest").Mock; on: import("vitest").Mock; off: import("vitest").Mock; }; export interface RenderWithChatContextOptions { projectId?: string; user?: AuthUser | null; chatContextValue?: Partial; beforeRender?: (handles: { axiosPrivate: AxiosMockHandle; axiosPublic: AxiosMockHandle; }) => void; } export interface RenderWithChatContextResult extends RenderHookResult { axiosPrivate: AxiosMockHandle; axiosPublic: AxiosMockHandle; } /** * Like `renderHookWithAxios`, but also nests a `ChatContext.Provider` — needed * by hooks (`useChatSocket`, `useTypingIndicator`) that read the shared socket * instance from that context rather than taking it as a parameter. */ export declare function renderWithChatContext(callback: () => Result, options?: RenderWithChatContextOptions): RenderWithChatContextResult;