import { Plugin, AllPlugin } from '../plugins/Plugin'; export declare type GetProps = T extends UsePlugin ? U : never; export declare type GetState = T extends UsePlugin ? U : never; export declare class UsePlugin { protected plugins: Array<[string | undefined, Plugin]>; use(plugin: Plugin | UsePlugin): UsePlugin; use(plugin: UsePlugin): UsePlugin; use(plugin: Plugin, name?: string): UsePlugin; protected getPlugins(): Plugin[]; } export declare function use(plugin: AllPlugin | UsePlugin): UsePlugin; export declare function use(plugin: UsePlugin): UsePlugin; export declare function use(plugin: AllPlugin, name?: string): UsePlugin;