2025-05-12 05:38:44 +09:00

69 lines
1.7 KiB
TypeScript

import Immutable from "immutable";
import PluginDependency from "./pluginDependency";
type Content = Immutable.Map<any, any>;
type Package = Immutable.Map<any, any>;
declare const Plugin_base: Immutable.Record.Class;
declare class Plugin extends Plugin_base {
getName(): string;
getPath(): string;
getVersion(): string;
getPackage(): Package;
getContent(): Content;
getDepth(): number;
getParent(): string;
/**
* Return the ID on NPM for this plugin
* return package.json's name
* @return {string}
*/
getNpmID(): string;
/**
* Check if a plugin is loaded
* @return {boolean}
*/
isLoaded(): boolean;
/**
* Check if a plugin is a theme given its name
* @return {boolean}
*/
isTheme(): boolean;
/**
* Return map of hooks
*/
getHooks(): Immutable.Map<string, Function>;
/**
* Return infos about resources for a specific type
* @param {string} type
* @return {Map<String:Mixed>}
*/
getResources(type: string): any;
/**
* Return map of filters
* @return {Map<String:Function>}
*/
getFilters(): any;
/**
* Return map of blocks
* @return {Map<String:TemplateBlock>}
*/
getBlocks(): any;
/**
* Return a specific hook
* @param {string} name
* @return {Function|undefined}
*/
getHook(name: string): Function;
/**
* Create a plugin from a string
* @return {Plugin}
* @param s
*/
static createFromString(s: string): Plugin;
/**
* Create a plugin from a dependency
* @return {Plugin}
*/
static createFromDep(dep: PluginDependency): Plugin;
}
export default Plugin;
//# sourceMappingURL=plugin.d.ts.map