import '../../language/i18n';
import '../global.scss';
import type { JSX } from 'preact';
import type { EmptyObject } from 'type-fest';
import type { ExperimentsProps } from '../../context/ExperimentContext/types';
import type { ExpiryProviderProps } from '../../context/ExpiryContext/ExpiryContext';
import type { I18nProviderProps } from '../../context/I18nProvider/I18nProvider';
import type { SettingsProps } from '../../context/SettingsContext/types';
import type { ComponentMap } from '../../components';
import type { BaseElementProps } from '../BaseElement';
import { BaseElement } from '../BaseElement';
interface EmbedProps {
    baseUrl: string;
}
export interface UIElementProps<Props extends object> extends BaseElementProps, I18nProviderProps, ExpiryProviderProps, SettingsProps, EmbedProps, ExperimentsProps {
    component: (props: Props) => JSX.Element;
    componentName: keyof ComponentMap;
    componentProps: Props;
}
export declare class UIElement<Props extends object = EmptyObject> extends BaseElement<UIElementProps<Props>> {
    render: () => JSX.Element;
}
export {};
