///
export declare type StatelessProps = T & {
children?: (JSX.Element | Content) | (JSX.Element | Content)[];
};
export interface StatelessComponent {
(props: StatelessProps): JSX.Element;
}
export declare type Content = string | boolean | number;
export interface AttributeMap {
[key: string]: Content | Function;
}
export interface ActiveElementInfo {
childPositions: number[];
scrollTop?: number;
selectionStart?: number;
selectionEnd?: number;
selectionDirection?: string;
}
export declare function createElement(tag: StatelessComponent, attrs: StatelessProps, ...children: JSX.Element[]): any;
export declare function createElement(tag: string, attrs: AttributeMap, ...children: (Element | Content)[]): any;
export declare function addChild(parentElement: Element, child: Element | Content | JSX.Element | (Element | Content)[]): void;
export declare function mount(element: Element | JSX.Element, container: HTMLElement): void;
export declare function findElementByChildPositions(childPositions: number[], container?: Element): HTMLElement;
export declare function focusActiveElement(element: HTMLElement, activeElementInfo: ActiveElementInfo): void;
export declare function setActiveElement(activeElementInfo: ActiveElementInfo, container?: Element): void;
export declare function getActiveElementInfo(container?: HTMLElement): ActiveElementInfo;