import { RawStyleHandler, StyleHandler, StyleHandlerDefinition } from '../utils/styles';
import { alignStyle } from './align';
import { borderStyle } from './border';
import { colorStyle } from './color';
import { displayStyle } from './display';
import { fadeStyle } from './fade';
import { fillStyle, svgFillStyle } from './fill';
import { flowStyle } from './flow';
import { gapStyle } from './gap';
import { heightStyle } from './height';
import { insetStyle } from './inset';
import { justifyStyle } from './justify';
import { marginStyle } from './margin';
import { outlineStyle } from './outline';
import { paddingStyle } from './padding';
import { presetStyle } from './preset';
import { radiusStyle } from './radius';
import { resetStyle } from './reset';
import { scrollbarStyle } from './scrollbar';
import { shadowStyle } from './shadow';
import { styledScrollbarStyle } from './styledScrollbar';
import { transitionStyle } from './transition';
import { widthStyle } from './width';
type StyleHandlerMap = Record<string, StyleHandler[]>;
export declare const STYLE_HANDLER_MAP: StyleHandlerMap;
/**
 * Reset STYLE_HANDLER_MAP to the initial built-in state.
 * Called by resetConfig() to restore handlers after tests.
 */
export declare function resetHandlers(): void;
export declare function defineCustomStyle(names: string[] | StyleHandler, handler?: RawStyleHandler): void;
type ConverterHandler = (s: string | boolean | number | undefined) => string | undefined;
export declare function defineStyleAlias(styleName: string, cssStyleName?: string, converter?: ConverterHandler): void;
export declare function predefine(): {
    STYLE_HANDLER_MAP: StyleHandlerMap;
    defineCustomStyle: typeof defineCustomStyle;
    defineStyleAlias: typeof defineStyleAlias;
};
/**
 * Normalize a handler definition to a StyleHandler with __lookupStyles.
 * - Function only: lookup styles inferred from key name
 * - [string, fn]: single lookup style
 * - [string[], fn]: multiple lookup styles
 */
export declare function normalizeHandlerDefinition(keyName: string, definition: StyleHandlerDefinition): StyleHandler;
/**
 * Validate a handler result in development mode.
 * Call this after invoking a handler to check the return value.
 */
export declare function validateHandlerResult(name: string, result: unknown): void;
/**
 * Register a custom handler, replacing any existing handlers for the same lookup styles.
 * This is called by configure() to process user-defined handlers.
 *
 * When registering a handler for style X, any existing handler that processes X
 * is removed from ALL its lookup styles to prevent double-processing.
 * For example, if gapStyle handles ['display', 'flow', 'gap'] and a new handler
 * is registered for just ['gap'], gapStyle is removed from display and flow too.
 */
export declare function registerHandler(handler: StyleHandler): void;
/**
 * Exported object containing wrapped predefined style handlers.
 * Users can import and call these to extend or delegate to built-in behavior.
 *
 * Internal handlers use *Style suffix for searchability.
 * External API uses short names for convenience.
 *
 * @example
 * ```ts
 * import { styleHandlers, configure } from '@cube-dev/ui-kit';
 *
 * configure({
 *   handlers: {
 *     fill: ({ fill }) => {
 *       if (fill?.startsWith('gradient:')) {
 *         return { background: fill.slice(9) };
 *       }
 *       return styleHandlers.fill({ fill });
 *     },
 *   },
 * });
 * ```
 */
export declare const styleHandlers: {
    readonly align: typeof alignStyle;
    readonly border: typeof borderStyle;
    readonly color: typeof colorStyle;
    readonly display: typeof displayStyle;
    readonly fade: typeof fadeStyle;
    readonly fill: typeof fillStyle;
    readonly svgFill: typeof svgFillStyle;
    readonly flow: typeof flowStyle;
    readonly gap: typeof gapStyle;
    readonly height: typeof heightStyle;
    readonly inset: typeof insetStyle;
    readonly justify: typeof justifyStyle;
    readonly margin: typeof marginStyle;
    readonly outline: typeof outlineStyle;
    readonly padding: typeof paddingStyle;
    readonly preset: typeof presetStyle;
    readonly radius: typeof radiusStyle;
    readonly reset: typeof resetStyle;
    readonly scrollbar: typeof scrollbarStyle;
    readonly shadow: typeof shadowStyle;
    readonly styledScrollbar: typeof styledScrollbarStyle;
    readonly transition: typeof transitionStyle;
    readonly width: typeof widthStyle;
};
export {};
