import * as React from 'react'; export type Omit = Pick>; export type ReplaceProps = Omit< React.ComponentPropsWithRef, P > & P; export interface BsPrefixProps { as?: As; bsPrefix?: string; } export class BsPrefixComponent< As extends React.ElementType, P = {} > extends React.Component & P>> {} // Need to use this instead of typeof Component to get proper type checking. export type BsPrefixComponentClass< As extends React.ElementType, P = {} > = React.ComponentClass & P>>; export type SelectCallback = ( eventKey: string, 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; }