/** * Component utilities for RSC * * Helpers for working with React Server Components and client components. */ import type { ComponentType } from "react"; /** * Check if a component is a client component (has "use client" directive). * * Client components are marked by the bundler with: * - $$typeof: Symbol.for("react.client.reference") * - $$id: string (module identifier) * * @param component - The component to check * @returns true if the component has client reference marker * * @example * ```typescript * import { MyComponent } from "./my-component"; // has "use client" * * if (!isClientComponent(MyComponent)) { * throw new Error("MyComponent must be a client component"); * } * ``` */ export declare function isClientComponent(component: ComponentType | unknown): boolean; /** * Assert that a component is a client component. * Throws a descriptive error if not. * * @param component - The component to check * @param name - Name to use in error message (e.g., "document") * @throws Error if the component is not a client component */ export declare function assertClientComponent(component: ComponentType | unknown, name: string): asserts component is ComponentType; //# sourceMappingURL=component-utils.d.ts.map