/**
 * TagHandlerRegistry: dispatch table for pack-contributed JSDoc tag handlers.
 *
 * Packs declare tag handlers in their manifest. The parser populates this
 * registry at startup and delegates unknown tags to it before emitting
 * "unknown tag" warnings.
 */
export type TTagHandlerContext = {
    /** The deploy map for this handler's namespace. Handlers mutate this directly. */
    deploy: Record<string, unknown>;
    /** Accumulator for parser warnings. */
    warnings: string[];
};
/**
 * A handler function for a pack-contributed tag.
 * Receives the tag name, the comment text after the tag, and a context
 * object with the deploy map for the handler's namespace.
 */
export type TTagHandlerFn = (tagName: string, comment: string, ctx: TTagHandlerContext) => void;
export type TRegisteredTagHandler = {
    namespace: string;
    scope: 'workflow' | 'nodeType' | 'both';
    handler: TTagHandlerFn;
};
/**
 * Registry mapping tag names to pack-provided handler functions.
 * Used by the JSDoc parser to delegate tags it doesn't natively handle.
 */
export declare class TagHandlerRegistry {
    private handlers;
    /** Register a handler for one or more tag names. */
    register(tags: string[], namespace: string, scope: 'workflow' | 'nodeType' | 'both', handler: TTagHandlerFn): void;
    /** Check if a handler is registered for the given tag. */
    has(tagName: string): boolean;
    /** Get all registered tag names. */
    getRegisteredTags(): string[];
    /**
     * Handle a tag by delegating to the registered handler.
     * The handler writes parsed data into `deployMap[namespace]`.
     *
     * @returns true if the tag was handled, false if no handler was found.
     */
    handle(tagName: string, comment: string, blockScope: 'workflow' | 'nodeType', deployMap: Record<string, Record<string, unknown>>, warnings: string[]): boolean;
}
/** Global tag handler registry singleton. Extensions register handlers here at startup. */
export declare const tagHandlerRegistry: TagHandlerRegistry;
//# sourceMappingURL=tag-registry.d.ts.map