import React from 'react';
import { type StyleProp, type ViewStyle } from 'react-native';
import type { AppColorName } from '../color-presets';
export interface BloomColorScopeProps {
    /**
     * Preset to apply within this subtree. When `undefined`, the scope is a
     * no-op and children inherit the parent scope's preset unchanged.
     */
    colorPreset: AppColorName | undefined;
    /**
     * When `true`, do not render a wrapping `<View>`. The single child is cloned
     * with the scope's CSS vars merged into its `style` prop (Radix-style).
     */
    asChild?: boolean;
    /** Additional style applied to the wrapping `<View>` (or merged into the cloned child with `asChild`). */
    style?: StyleProp<ViewStyle>;
    children: React.ReactNode;
}
export declare function BloomColorScope({ colorPreset, asChild, style, children, }: BloomColorScopeProps): import("react/jsx-runtime").JSX.Element;
/**
 * Escape hatch for advanced cases where the wrapping element is owned by the
 * caller. Returns a stable native style object carrying the preset's CSS vars
 * via NativeWind's `vars()`. Returns `undefined` on web or when `nativewind`
 * is not installed.
 *
 * NOTE: subject to the react-native-css@3 limitation — the returned style only
 * propagates vars to descendants when applied to an interop className component
 * (the runtime gates propagation on matched className style rules). It is a
 * no-op on a plain `<View>` with no `className`. For the common case prefer
 * `<BloomColorScope>`, which wraps children in `VariableContextProvider`.
 */
export declare function useColorScopeStyle(colorPreset: AppColorName): StyleProp<ViewStyle>;
//# sourceMappingURL=index.d.ts.map