import { CSSProperties, ComponentPropsWithoutRef, ElementRef, ForwardedRef, ElementType } from 'react';
export declare const KUMO_TEXT_VARIANTS: {
    readonly variant: {
        readonly heading1: {
            readonly classes: "text-3xl font-semibold";
            readonly description: "Large heading for page titles";
        };
        readonly heading2: {
            readonly classes: "text-2xl font-semibold";
            readonly description: "Medium heading for section titles";
        };
        readonly heading3: {
            readonly classes: "text-lg font-semibold";
            readonly description: "Small heading for subsections";
        };
        readonly body: {
            readonly classes: "text-kumo-default";
            readonly description: "Default body text";
        };
        readonly secondary: {
            readonly classes: "text-kumo-subtle";
            readonly description: "Muted text for secondary information";
        };
        readonly success: {
            readonly classes: "text-kumo-link";
            readonly description: "Success state text";
        };
        readonly error: {
            readonly classes: "text-kumo-danger";
            readonly description: "Error state text";
        };
        readonly mono: {
            readonly classes: "font-mono";
            readonly description: "Monospace text for code";
        };
        readonly "mono-secondary": {
            readonly classes: "font-mono text-kumo-subtle";
            readonly description: "Muted monospace text";
        };
    };
    readonly size: {
        readonly xs: {
            readonly classes: "text-xs";
            readonly description: "Extra small text";
        };
        readonly sm: {
            readonly classes: "text-sm";
            readonly description: "Small text";
        };
        readonly base: {
            readonly classes: "text-base";
            readonly description: "Default text size";
        };
        readonly lg: {
            readonly classes: "text-lg";
            readonly description: "Large text";
        };
    };
};
export declare const KUMO_TEXT_DEFAULT_VARIANTS: {
    readonly variant: "body";
    readonly size: "base";
};
/**
 * KUMO_TEXT_STYLING - Typography metadata for Figma generator
 *
 * This export provides structured styling information extracted from text.tsx
 * for use by the Figma plugin generator. It documents font sizes, weights,
 * colors, and font families used across all Text variants.
 *
 * Source of truth chain:
 * text.tsx (this file) → component-registry.json → text.ts (Figma generator)
 */
export declare const KUMO_TEXT_STYLING: {
    readonly fontSizes: {
        readonly xs: 12;
        readonly sm: 14;
        readonly base: 16;
        readonly lg: 18;
        readonly xl: 20;
        readonly "2xl": 24;
        readonly "3xl": 30;
    };
    readonly fontWeights: {
        readonly normal: 400;
        readonly medium: 500;
        readonly semibold: 600;
    };
    readonly baseColor: "text-kumo-default";
    readonly variantColors: {
        readonly body: "text-kumo-default";
        readonly secondary: "text-kumo-subtle";
        readonly success: "text-kumo-link";
        readonly error: "text-kumo-danger";
        readonly mono: "text-kumo-default";
        readonly "mono-secondary": "text-kumo-subtle";
    };
    readonly fontFamilies: {
        readonly default: "sans-serif";
        readonly mono: "monospace";
    };
};
export type KumoTextVariant = keyof typeof KUMO_TEXT_VARIANTS.variant;
export type KumoTextSize = keyof typeof KUMO_TEXT_VARIANTS.size;
export interface KumoTextVariantsProps {
    variant?: KumoTextVariant;
    size?: KumoTextSize;
}
export declare function textVariants({ variant, size, }?: KumoTextVariantsProps): string;
type Heading = "heading1" | "heading2" | "heading3";
type Copy = "body" | "secondary" | "success" | "error";
type Monospace = "mono" | "mono-secondary";
type TextSize = KumoTextSize;
type TextVariant = KumoTextVariant;
type BaseTextProps = Omit<ComponentPropsWithoutRef<"span">, "className" | "style"> & {
    DANGEROUS_className?: string;
    DANGEROUS_style?: CSSProperties;
    as?: ElementType;
};
type TextPropsInternal<Variant extends TextVariant = "body"> = BaseTextProps & (Variant extends Copy ? {
    variant?: Variant;
    bold?: boolean;
    size?: TextSize;
} : Variant extends Monospace ? {
    variant?: Variant;
    bold?: never;
    size?: "lg";
} : Variant extends Heading ? {
    variant?: Variant;
    bold?: never;
    size?: never;
} : never);
/**
 * Props for the Text component.
 * @description A typography component for rendering text with consistent styling.
 */
export interface TextProps {
    /** Text style variant */
    variant?: KumoTextVariant;
    /** Text size (only applies to body/secondary/success/error variants) */
    size?: KumoTextSize;
    /** Whether to use bold font weight (only applies to body variants) */
    bold?: boolean;
    /** The element type to render as */
    as?: ElementType;
    /** Child text content */
    children?: React.ReactNode;
}
export declare const Text: <Variant extends TextVariant = "body">(props: TextPropsInternal<Variant> & {
    ref?: ForwardedRef<ElementRef<"span">>;
}) => React.ReactElement;
export {};
//# sourceMappingURL=text.d.ts.map