/**
 * Add output plugin.
 *
 * @access public
 * @memberof module:@citation-js/core.plugins.output
 * @method add
 *
 * @param {module:@citation-js/core.plugins.output~formatterName} name - output format name
 * @param {module:@citation-js/core.plugins.output~formatter} formatter - outputting function
 * @throws {TypeError} validation errors
 */
export function add(name: any, formatter: any): void;
/**
 * Remove output plugin.
 *
 * @access public
 * @memberof module:@citation-js/core.plugins.output
 * @method remove
 *
 * @param {module:@citation-js/core.plugins.output~formatterName} name - output format name
 */
export function remove(name: any): void;
/**
 * Check if output plugin exists.
 *
 * @access public
 * @memberof module:@citation-js/core.plugins.output
 * @method has
 *
 * @param {module:@citation-js/core.plugins.output~formatterName} name - output format name
 * @return {Boolean} register has plugin
 */
export function has(name: any): boolean;
/**
 * List output plugins.
 *
 * @access public
 * @memberof module:@citation-js/core.plugins.output
 * @method list
 *
 * @return {Array<String>} list of plugins
 */
export function list(): Array<string>;
/**
 * Call output plugin
 *
 * @access public
 * @memberof module:@citation-js/core.plugins.output
 * @method format
 *
 * @param {module:@citation-js/core.plugins.output~formatterName} name - output format name
 * @param {Array<module:@citation-js/core~CSL>} data - all entries
 * @param {...*} options - output options
 */
export function format(name: any, data: any, ...options: any[]): any;
/**
 * @access public
 * @memberof module:@citation-js/core.plugins.output
 * @constant register
 *
 * @type module:@citation-js/core.util.Register
 */
export const register: any;
/**
 * :@citation-js/core.plugins.output~formatter
 */
export type module = (: Array<module>) => string;
