export declare const log: ((...args: any[]) => void) & {
  debug: boolean;
};
export declare const nop: () => void;
export interface ComponentPrototype {
  componentWillLoad?: (...args: any[]) => Promise<void> | void;
  componentDidLoad?: (...args: any[]) => Promise<void> | void;
  [key: string]: any;
}
export declare type ComponentDecorator<K extends string> = (prototype: ComponentPrototype, propertyKey: K) => any;
declare type Callback = (obj: any) => Promise<void> | void;
export declare function hookComponent<K extends keyof ComponentPrototype>(prototype: ComponentPrototype, key: K, cb: (obj: any) => Promise<Callback | void> | Callback | void): () => void;
export {};
