import { default as React, ComponentPropsWithoutRef, ComponentPropsWithRef, ElementType, PropsWithChildren } from 'react';
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 {
    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;
/**
 * Props for the Surface component.
 * @description A polymorphic container component for creating elevated surfaces with consistent styling.
 */
export interface SurfaceProps {
    /** The element type to render as (default: "div") */
    as?: ElementType;
    /** Surface color variant */
    color?: KumoSurfaceColor;
    /** Additional CSS classes */
    className?: string;
    /** Child elements */
    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