import { ConfigSchema } from './types';
export type { ConfigSchema, ConfigAttribute, SettingsFromSchema } from './types';
declare global {
    interface Window {
        FMPROMISE_CONFIG?: Record<string, any>;
    }
}
/**
 * The primary configuration gatekeeper for an fmPromise module.
 * It validates pre-injected configuration and provides a UI for developers in dev mode.
 * @param schema The configuration schema for the module.
 * @returns A promise that resolves with the valid, typed settings object, or never resolves if configuration is needed.
 */
export declare function useConfig<T>(schema: ConfigSchema): Promise<T>;
