import { ReactNode, Ref, ElementType, ComponentPropsWithoutRef } from 'react'; import { Color } from '../types.js'; export interface SurfaceCutOwnProps { /** Surface-cut content. */ children?: ReactNode; /** Extra classes for the root element. */ className?: string; /** Extra classes for the absolutely-positioned background layer (the cut fill behind content). */ bgClassName?: string; /** Render the inset outline ring. Default `true`. */ outline?: boolean; /** Accent color token. Sets the surface's `cladd-color-{name}` class. */ color?: Color; /** * Slot rendered between the background layer and the content wrapper, **outside** the `SurfaceCutContent` flex layout (e.g. `FocusableLayer`, decorative overlays). */ beforeContent?: ReactNode; /** Show hover overlay on the cut surface. Default `false`. */ hoverable?: boolean; /** * Where to stack the hover/press overlay: * - `'below'` (default) - inside the background layer, behind content (overlay tints only the bg). * - `'above'` - on top of content as a separate sibling layer (overlay tints content too). */ overlayPosition?: 'below' | 'above'; /** Extra classes for the hover/press overlay layer. */ overlayClassName?: string; /** Enable active/pressed visual states (scale + pressed background). Default `false`. */ clickable?: boolean; /** Force the pressed visual state regardless of pointer activity. */ pressed?: boolean; /** Polymorphic root element. Defaults to `'div'`. */ as?: C; /** * When `true` (default), `children` are wrapped in `SurfaceCutContent`. * * Set to `false` to render `children` directly when you need full layout control of the inner DOM. */ wrapContent?: boolean; /** Extra classes for the inner `SurfaceCutContent` wrapper. Ignored when `wrapContent` is `false`. */ contentClassName?: string; /** Forwarded to the polymorphic root element. */ ref?: Ref; } export type SurfaceCutProps = SurfaceCutOwnProps & Omit, keyof SurfaceCutOwnProps>; /** Shape of `SurfaceCut` defaults that can be supplied via `CladdProvider`'s `defaults` prop. */ export type SurfaceCutDefaultProps = Partial>; export declare const SurfaceCut: (props: SurfaceCutProps) => import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=SurfaceCut.d.ts.map