/**
 * 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> | 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> | unknown, name: string): asserts component is ComponentType<unknown>;
//# sourceMappingURL=component-utils.d.ts.map