import { default as React, ComponentPropsWithoutRef, ComponentPropsWithRef, ElementType, PropsWithChildren } from 'react';
/** Surface color variant definitions. */
export declare const KUMO_SURFACE_VARIANTS: {
    readonly color: {
        readonly primary: {
            readonly classes: "";
            readonly description: "Primary surface color";
        };
        readonly secondary: {
            readonly classes: "";
            readonly description: "Secondary surface color";
        };
    };
};
export declare const KUMO_SURFACE_DEFAULT_VARIANTS: {
    readonly color: "primary";
};
export type KumoSurfaceColor = keyof typeof KUMO_SURFACE_VARIANTS.color;
export interface KumoSurfaceVariantsProps {
    /**
     * Surface color variant.
     * - `"primary"` — Primary surface color
     * - `"secondary"` — Secondary surface color
     * @default "primary"
     */
    color?: KumoSurfaceColor;
}
export declare function surfaceVariants({ color, }?: KumoSurfaceVariantsProps): string;
type PolymorphicAsProp<E extends ElementType> = {
    as?: E;
};
type PolymorphicProps<E extends ElementType> = PropsWithChildren<ComponentPropsWithoutRef<E> & PolymorphicAsProp<E>>;
type PolymorphicRef<E extends ElementType> = ComponentPropsWithRef<E>["ref"];
declare const defaultElement = "div";
type SurfacePropsGeneric<E extends ElementType = typeof defaultElement> = PolymorphicProps<E> & KumoSurfaceVariantsProps;
/**
 * Surface component props.
 *
 * @example
 * ```tsx
 * <Surface className="rounded-lg p-4">Card content</Surface>
 * <Surface as="section" className="rounded-lg p-6">Section content</Surface>
 * ```
 */
export interface SurfaceProps {
    /** The HTML element type to render as (e.g. `"div"`, `"section"`, `"article"`). @default "div" */
    as?: ElementType;
    /** Surface color variant. @default "primary" */
    color?: KumoSurfaceColor;
    /** Additional CSS classes merged via `cn()`. */
    className?: string;
    /** Content rendered inside the surface. */
    children?: React.ReactNode;
}
type SurfaceComponent = <E extends ElementType = typeof defaultElement>(props: SurfacePropsGeneric<E> & {
    ref?: PolymorphicRef<E>;
}) => React.JSX.Element;
export declare const Surface: SurfaceComponent;
export {};
//# sourceMappingURL=surface.d.ts.map