import { type JSX, type ReactNode } from 'react';
export type SurfaceElement = 'div' | 'section' | 'article';
export type SurfaceTitleElement = 'h2' | 'h3' | 'div';
export type SurfaceVariant = 'brand' | 'neutral' | 'muted' | 'plain';
export type SurfaceDensity = 'compact' | 'default' | 'spacious';
export type SurfaceBorder = 'none' | 'subtle' | 'light';
export type SurfaceRadius = 'md' | 'lg' | 'xl';
export type SurfaceProps = {
    as?: SurfaceElement;
    title?: ReactNode;
    description?: ReactNode;
    actions?: ReactNode;
    footer?: ReactNode;
    children: ReactNode;
    className?: string;
    contentClassName?: string;
    titleAs?: SurfaceTitleElement;
    variant?: SurfaceVariant;
    density?: SurfaceDensity;
    border?: SurfaceBorder;
    radius?: SurfaceRadius;
    ariaLabelledBy?: string;
};
export declare const Surface: ({ actions, ariaLabelledBy, as: Component, border, children, className, contentClassName, density, description, footer, radius, title, titleAs: TitleComponent, variant, }: SurfaceProps) => JSX.Element;
export type SurfaceSectionProps = Omit<SurfaceProps, 'as' | 'ariaLabelledBy'> & {
    as?: Extract<SurfaceElement, 'section' | 'article' | 'div'>;
};
export declare const SurfaceSection: ({ as, border, density, radius, title, titleAs, variant, ...props }: SurfaceSectionProps) => JSX.Element;
export default Surface;
//# sourceMappingURL=Surface.d.ts.map