import * as React from 'react';
import {History} from 'history';

export function getSilentRouterHistory(): History;
export function setDocumentTitle(title: string): void;
export function isReactComponent(val): boolean;
export function isReactElement(val): boolean;
export function isElementHasType(element: React.ReactElement, type: any): boolean;
export function cleanEmptyChildren(children: React.ReactNode): React.ReactChild[];
export function mountComponent(Component: React.ReactNode, container: Element, params: any): React.Component<any> | Element | void;
export function isAutomationTestActive(): boolean;
export function isSafeStringValue(value): boolean;

export let OS: {
    is: {
        mac: boolean;
        win: boolean;
        others: boolean;
    };
    name: 'others';
};

export function fillBrandName(str: string): string;
export function extendFormState<TObject, TSource>(prevState: TObject, newState: TSource): TObject & TSource;
export function cleanFormState(prevState: object, removedIds: object): object;
export function wait(mileSeconds): Promise<void>;
export function deprecation(Component: React.ReactNode, message: string): React.Component;
