/**
 * Style chunk definitions for CSS chunking optimization.
 *
 * Styles are grouped into chunks based on:
 * 1. Handler dependencies - styles that share a handler MUST be in the same chunk
 * 2. Logical grouping - related styles grouped for better cache reuse
 *
 * See STYLE_CHUNKING_SPEC.md for detailed rationale.
 *
 * ============================================================================
 * ⚠️  CRITICAL ARCHITECTURAL CONSTRAINT: NO CROSS-CHUNK HANDLER DEPENDENCIES
 * ============================================================================
 *
 * Style handlers declare their dependencies via `__lookupStyles` array.
 * This creates a dependency graph where handlers read multiple style props.
 *
 * **ALL styles in a handler's `__lookupStyles` MUST be in the SAME chunk.**
 *
 * Why this matters:
 * 1. Each chunk computes a cache key from ONLY its own style values
 * 2. If a handler reads a style from another chunk, that value isn't in the cache key
 * 3. Changing the cross-chunk style won't invalidate this chunk's cache
 * 4. Result: stale CSS output or incorrect cache hits
 *
 * Example of a violation:
 * ```
 * // flowStyle.__lookupStyles = ['display', 'flow']
 * // If 'display' is in DISPLAY chunk and 'flow' is in LAYOUT chunk:
 * // - User sets { display: 'grid', flow: 'column' }
 * // - LAYOUT chunk caches CSS with flow=column, display=grid
 * // - User changes to { display: 'flex', flow: 'column' }
 * // - LAYOUT chunk cache key unchanged (only has 'flow')
 * // - Returns stale CSS computed with display=grid!
 * ```
 *
 * Before adding/moving styles, verify:
 * 1. Find all handlers that use this style (grep for the style name in __lookupStyles)
 * 2. Ensure ALL styles from each handler's __lookupStyles are in the same chunk
 * ============================================================================
 */
/**
 * Appearance chunk - visual styling with independent handlers
 */
export declare const APPEARANCE_CHUNK_STYLES: readonly ["fill", "color", "opacity", "border", "radius", "outline", "outlineOffset", "shadow", "fade"];
/**
 * Font chunk - typography styles
 *
 * Handler dependencies (all styles in each handler MUST stay in this chunk):
 * ⚠️ presetStyle: preset, fontSize, lineHeight, letterSpacing, textTransform,
 *    fontWeight, fontStyle, font
 */
export declare const FONT_CHUNK_STYLES: readonly ["preset", "font", "fontWeight", "fontStyle", "fontSize", "lineHeight", "letterSpacing", "textTransform", "fontFamily", "textAlign", "textDecoration", "wordBreak", "wordWrap", "boldFontWeight"];
/**
 * Dimension chunk - sizing and spacing
 *
 * Handler dependencies (all styles in each handler MUST stay in this chunk):
 * ⚠️ paddingStyle: padding, paddingTop/Right/Bottom/Left, paddingBlock/Inline
 * ⚠️ marginStyle: margin, marginTop/Right/Bottom/Left, marginBlock/Inline
 * ⚠️ widthStyle: width, minWidth, maxWidth
 * ⚠️ heightStyle: height, minHeight, maxHeight
 */
export declare const DIMENSION_CHUNK_STYLES: readonly ["padding", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "paddingBlock", "paddingInline", "margin", "marginTop", "marginRight", "marginBottom", "marginLeft", "marginBlock", "marginInline", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "flexBasis", "flexGrow", "flexShrink", "flex"];
/**
 * Display chunk - display mode, layout flow, text overflow, and scrollbar
 *
 * Handler dependencies (all styles in each handler MUST stay in this chunk):
 * ⚠️ displayStyle: display, hide, textOverflow, overflow, whiteSpace
 * ⚠️ flowStyle: display, flow
 * ⚠️ gapStyle: display, flow, gap
 * ⚠️ scrollbarStyle: scrollbar, overflow
 */
export declare const DISPLAY_CHUNK_STYLES: readonly ["display", "hide", "textOverflow", "overflow", "whiteSpace", "flow", "gap", "scrollbar", "styledScrollbar"];
/**
 * Layout chunk - flex/grid alignment and grid templates
 *
 * Note: flow and gap are in DISPLAY chunk due to handler dependencies
 * (flowStyle and gapStyle both require 'display' prop).
 */
export declare const LAYOUT_CHUNK_STYLES: readonly ["placeItems", "placeContent", "alignItems", "alignContent", "justifyItems", "justifyContent", "align", "justify", "place", "columnGap", "rowGap", "gridColumns", "gridRows", "gridTemplate", "gridAreas", "gridAutoFlow", "gridAutoColumns", "gridAutoRows"];
/**
 * Position chunk - element positioning
 *
 * Handler dependencies (all styles in each handler MUST stay in this chunk):
 * ⚠️ insetStyle: inset, insetBlock, insetInline, top, right, bottom, left
 */
export declare const POSITION_CHUNK_STYLES: readonly ["position", "inset", "insetBlock", "insetInline", "top", "right", "bottom", "left", "zIndex", "gridArea", "gridColumn", "gridRow", "order", "placeSelf", "alignSelf", "justifySelf", "transform", "transition", "animation"];
export declare const CHUNK_NAMES: {
    /** Special chunk for styles that cannot be split (e.g., @starting-style) */
    readonly COMBINED: "combined";
    readonly SUBCOMPONENTS: "subcomponents";
    readonly APPEARANCE: "appearance";
    readonly FONT: "font";
    readonly DIMENSION: "dimension";
    readonly DISPLAY: "display";
    readonly LAYOUT: "layout";
    readonly POSITION: "position";
    readonly MISC: "misc";
};
export type ChunkName = (typeof CHUNK_NAMES)[keyof typeof CHUNK_NAMES];
/**
 * Pre-computed map for O(1) style-to-chunk lookup.
 * Built once at module load time.
 */
export declare const STYLE_TO_CHUNK: Map<string, ChunkName>;
export interface ChunkInfo {
    /** Name of the chunk */
    name: ChunkName | string;
    /** Style keys belonging to this chunk */
    styleKeys: string[];
}
/**
 * Categorize style keys into chunks.
 *
 * Returns chunks in a deterministic order (by CHUNK_ORDER) regardless
 * of the order of keys in the input styles object.
 *
 * @param styles - The styles object to categorize
 * @returns Map of chunk name to array of style keys in that chunk (in priority order)
 */
export declare function categorizeStyleKeys(styles: Record<string, unknown>): Map<string, string[]>;
