import { P5AsciifyRendererPlugin } from './RendererPlugin';
/**
 * Registry that manages renderer plugins for p5.asciify.
 */
export declare class P5AsciifyPluginRegistry {
    private _plugins;
    /**
     * Registers a new renderer plugin.
     * @param plugin The renderer plugin to register
     * @throws If a plugin with the same ID is already registered or conflicts with built-in renderers
     */
    register(plugin: P5AsciifyRendererPlugin): boolean;
    /**
     * Check if a plugin with the given ID is registered
     * @param id Plugin ID to check
     * @returns True if the plugin exists, false otherwise
     */
    has(id: string): boolean;
    /**
     * Get a plugin by its ID
     * @param id Plugin ID
     * @returns The plugin instance or undefined if not found
     */
    get(id: string): P5AsciifyRendererPlugin | undefined;
    /**
     * Unregister a plugin by its ID
     * @param id Plugin ID to remove
     * @returns True if the plugin was removed, false if it wasn't found
     */
    unregister(id: string): boolean;
    /**
     * Get all registered plugin IDs
     * @returns Array of plugin IDs
     */
    getIds(): string[];
    /**
     * Get all registered plugins
     * @returns Array of plugin instances
     */
    getAll(): P5AsciifyRendererPlugin[];
}
