import * as React from 'react';
export type FutureOptions = {
    /**
     * @alpha
     *
     * If enabled, the theme resembles the future iTwinUI version's theme (including alphas) *whenever possible*.
     *
     * This is useful in making apps looks like future versions of iTwinUI to help with incremental adoption.
     *
     * **NOTE**: Since this is a theme bridge to *future* versions, the theme could have breaking changes.
     */
    themeBridge?: boolean;
    /**
     * When enabled, this will set the default value of `ThemeProvider`'s `themeOptions.synchronizeThemeToRoot` to `true`.
     *
     * This only affects the `ThemeProvider` with the `future` prop (nested `ThemeProvider`s will not inherit it).
     */
    synchronizeThemeToRoot?: boolean;
    ToggleSwitch?: {
        /**
         * When `true`, `className` and `style` will be applied on the
         * input element, along with the rest of the DOM props.
         *
         * By default (without this flag), `className` and `style` get
         * applied on the wrapper element, unless `wrapperProps` is also passed.
         */
        consistentPropsSpread?: boolean;
    };
};
/**
 * Hook to access future flags.
 * @private
 *
 * @example
 * ```jsx
 * const themeBridge = useFutureFlag('themeBridge');
 * ```
 */
export declare function useFutureFlag<K extends keyof FutureOptions>(key: K): FutureOptions[K];
/** @private */
export declare const FutureFlagsProvider: ({ children, value, }: React.PropsWithChildren<{
    value: FutureOptions;
}>) => React.JSX.Element;
