import { PreHook, FuncReturns } from 'magic-hook'; export declare type Plugin = { (target: Object, options: Object, next?: Function): Promise | void; attributes: any; }; export declare type PluginRegistrator = { register: Plugin; options?: any; }; export declare type NormalizedPlugin = { register: Plugin; name: string; version: string; options: any; }; export declare type ErrorCallback = (err?: Error) => void; export declare type RemiHook = { (target: T, plugin: NormalizedPlugin, cb: ErrorCallback): void; }; export { PreHook, FuncReturns }; export default function remi(target: T): { hook(...hooks: PreHook, void>[]): void; register(plugins: PluginRegistrator[]): Promise; };