/** @packageDocumentation
 * @module Utilities
 */
import { type KnownPreviewLayoutFeatures } from "@itwin/appui-layout-react";
import * as React from "react";
/** List of known preview features. */
interface KnownPreviewFeatures extends KnownPreviewLayoutFeatures {
}
/** List of preview features that can be enabled/disabled.
 * This list is expected to change over time, the interface is made
 * so that new features can be added or removed without breaking existing code.
 * A console warning will simply appear if unknown features are passed.
 * @beta
 */
export interface PreviewFeatures extends Partial<KnownPreviewFeatures> {
    [featureName: string]: any;
}
/** Hook to access the preview features set.
 * @internal
 */
export declare function usePreviewFeatures(): PreviewFeatures;
/** Props for PreviewFeaturesProvider.
 * @beta
 */
export interface PreviewFeaturesProviderProps {
    children?: React.ReactNode;
    features?: PreviewFeatures;
}
/** Set which preview features are enabled. These features are not yet ready for production use nor have
 * a proper API defined yet.
 * The available set of features are defined in the [[PreviewFeatures]] interface.
 *
 * This component should wrap the Provider component.
 *
 * ```tsx
 * <PreviewFeaturesProvider features={{ enableMaximizedFloatingWidget: true }}>
 *   <Provider store={UiFramework.store}>
 *    [...]
 *     <ConfigurableUIContent />
 *    [/...]
 *   </Provider>
 * </PreviewFeaturesProvider>
 * ```
 * @beta
 */
export declare function PreviewFeaturesProvider({ children, features, }: PreviewFeaturesProviderProps): JSX.Element;
export {};
//# sourceMappingURL=PreviewFeatures.d.ts.map