import * as React from 'react'; export type Omit = Pick>; export type PropsOf< Tag extends React.ReactType > = Tag extends keyof JSX.IntrinsicElements ? JSX.IntrinsicElements[Tag] : Tag extends React.SFC ? Props & React.Attributes : Tag extends React.ComponentClass ? (Tag extends new (...args: any[]) => infer Instance ? Props2 & React.ClassAttributes : never) : never; export type ReplaceProps = Omit< PropsOf, P > & P; export interface BsPrefixProps { as?: As; bsPrefix?: string; } export class BsPrefixComponent< As extends React.ReactType, P = {} > extends React.Component & P>> {} export type SelectCallback = ( eventKey: any, e: React.SyntheticEvent<{}>, ) => void; export interface TransitionCallbacks { onEnter?(node: HTMLElement): any; onEntered?(node: HTMLElement): any; onEntering?(node: HTMLElement): any; onExit?(node: HTMLElement): any; onExited?(node: HTMLElement): any; onExiting?(node: HTMLElement): any; }