import * as react from 'react';
import { HTMLAttributes, ReactNode } from 'react';
interface FauxClientProps extends Omit, "children"> {
/** Chrome style: a browser window, a device bezel, or no chrome. */
variant?: "browser" | "device" | "bare";
/** Address-bar / title text (browser variant). */
url?: ReactNode;
/** Right-aligned meta text in the bar (browser variant). */
meta?: ReactNode;
/** Show the macOS traffic-light dots (browser variant). */
dots?: boolean;
/**
* Logical content width in px. When set, children render at this width and are
* scaled to fit (see {@link FauxClientProps.scale}) — for downscaled previews
* of full pages/apps. Omit to render children at natural size (chrome only).
*/
width?: number;
/** `"fit"` scales the logical {@link FauxClientProps.width} to the frame; a number is a fixed scale. */
scale?: number | "fit";
className?: string;
/** Class for the browser bar. */
barClassName?: string;
/** Class for the content viewport. */
bodyClassName?: string;
children?: ReactNode;
}
/**
* A frame that mimics a browser window or device, rendering **real UI** inside.
* With a logical `width` + `scale="fit"` it renders a full-size page/app and
* scales it down to fit any container (live thumbnails, device mockups) — the
* content is real and interactive, just zoomed.
*
* Omit `width` for chrome around natural-size content (e.g. a code/preview card).
*/
declare const FauxClient: react.ForwardRefExoticComponent>;
export { FauxClient, type FauxClientProps };