import Module from '../base/module.js'; export interface Attachable { new (root: Element): Module; attachTo(root: Element): Module; } interface ILoader { loadCSS: (href: string) => void; } interface AssetPath { css: string; js: string; modules: string; } /** * Auto-initializes all modules on a page */ declare function autoInit(root?: Document | Element, warn?: (...data: any[]) => void, loader?: ILoader, assetPath?: AssetPath): void; export default autoInit; declare namespace autoInit { var register: (moduleName: string, Ctor: Attachable, warn?: (...data: any[]) => void) => void; var deregister: (moduleName: string) => void; var deregisterAll: () => void; }