import { z } from 'zod';
/**
 * Shared Component Style Schemas
 *
 * Reusable schemas for border and shadow styling that can be shared across
 * themed components (header, buttons, cards, accordions, inputs).
 *
 * Design decisions:
 * - Shadow elevation uses CSS-aligned names (none/sm/md/lg/xl/2xl)
 * - Shadow softness is controlled globally, not per-component
 * - Border position is component-specific, not in shared schema
 */
/**
 * Shared border schema for themed components.
 * Position is excluded - each component determines its own border position.
 */
export declare const componentBorderSchema: z.ZodObject<{
    width: z.ZodDefault<z.ZodEnum<{
        none: "none";
        medium: "medium";
        thin: "thin";
        thick: "thick";
        hairline: "hairline";
    }>>;
    style: z.ZodDefault<z.ZodEnum<{
        solid: "solid";
        dashed: "dashed";
    }>>;
    colorToken: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type ComponentBorder = z.infer<typeof componentBorderSchema>;
/**
 * Shared shadow schema for themed components.
 * Softness is inherited from global theme, not configurable per-component.
 */
export declare const componentShadowSchema: z.ZodObject<{
    elevation: z.ZodDefault<z.ZodEnum<{
        none: "none";
        md: "md";
        lg: "lg";
        xl: "xl";
        sm: "sm";
        "2xl": "2xl";
    }>>;
}, z.core.$strip>;
export type ComponentShadow = z.infer<typeof componentShadowSchema>;
/**
 * Get border width in pixels for CSS generation.
 *
 * Width mapping:
 * - none: 0
 * - hairline: 1px
 * - thin: 2px
 * - medium: 3px
 * - thick: 4px
 */
export declare function getComponentBorderWidthPx(width: ComponentBorder['width']): '0' | '1px' | '2px' | '3px' | '4px';
/**
 * Get CSS variable reference for shadow elevation.
 * Returns null for 'none' elevation.
 *
 * Maps directly to CSS variables generated by the theme:
 * - sm: var(--shadow-sm)
 * - md: var(--shadow-md)
 * - lg: var(--shadow-lg)
 * - xl: var(--shadow-xl)
 * - 2xl: var(--shadow-2xl)
 */
export declare function getComponentShadowVar(elevation: ComponentShadow['elevation']): string | null;
