diff --git a/index.d.ts b/index.d.ts index 8ab98fa..a1e0fd9 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,7 +1,15 @@ import * as React from 'react'; import {default as tippyCore, Instance, Props, Plugin} from 'tippy.js'; -export interface TippyProps extends Omit, 'content'> { +type KnownKeys = { + [K in keyof T]: string extends K ? never : number extends K ? never : K; +} extends {[_ in keyof T]: infer U} + ? U + : never; + +export type KnownProps = Pick>; + +export interface TippyProps extends Omit, 'content'> { content: React.ReactChild | React.ReactChild[]; children: React.ReactElement; visible?: boolean; @@ -9,6 +17,7 @@ export interface TippyProps extends Omit, 'content'> { className?: string; plugins?: Plugin[]; singleton?: (instance: Instance) => void; + [key: string]: any; } declare const Tippy: React.ForwardRefExoticComponent; @@ -16,15 +25,24 @@ export default Tippy; export const tippy: typeof tippyCore; -export interface TippySingletonProps extends Partial { +export interface TippySingletonProps extends Partial { children: Array>; className?: string; plugins?: Plugin[]; + [key: string]: any; } export const TippySingleton: React.FunctionComponent; -export type UseSingletonProps = Omit; +type KnownSingletonProps = Pick< + TippySingletonProps, + KnownKeys +>; + +export interface UseSingletonProps + extends Omit { + [key: string]: any; +} export const useSingleton: ( props?: UseSingletonProps,