/** * Adapter that wraps a legacy `(data, quiet) => string` renderer into the B5 * {@link Renderer} signature so it can be registered with * {@link registerRenderer}. * * The legacy renderers migrated by T10131 (B6) and its sibling B7/B8 PRs all * have the historical `(data: Record, quiet: boolean) => * string` shape. The B5 registry expects `(envelope, opts) => string`. This * adapter bridges the gap so the registry can be populated incrementally * without forcing every consumer to migrate to {@link RenderableEnvelope} * payloads at once. * * **Mapping rules**: * - The envelope's `data` payload is unwrapped and forwarded as the legacy * `data` argument when the envelope kind is `'generic'`, `'single'`, or * any other unwrappable variant. For collection variants (`tree`, * `table`, `list`, `grouped-list`), the entire `data` object is passed * through so the legacy renderer can read whatever keys it expects. * - The quiet flag is derived from {@link RenderOptions} — `verbose === false` * OR an explicit `(opts as { quiet?: boolean }).quiet === true` maps to * legacy `quiet=true`. The default is `quiet=false` (full output). * * @task T10131 */ import type { Renderer } from './types.js'; /** * Legacy renderer signature shared by every renderer migrated from * `packages/cleo/src/cli/renderers/system.ts`. */ export type LegacyRenderer = (data: Record, quiet: boolean) => string; /** * Wrap a legacy `(data, quiet) => string` renderer so it satisfies the * {@link Renderer} contract expected by {@link registerRenderer}. * * @param legacy The legacy renderer to wrap. * @returns A `Renderer` that delegates to `legacy` after unwrapping the * envelope and deriving the quiet flag. */ export declare function wrapLegacyRenderer(legacy: LegacyRenderer): Renderer; //# sourceMappingURL=legacy-adapter.d.ts.map