/**
 * LAFS-compliant output formatter for CLEO V2.
 *
 * LAFS (LLM-Agent-First Schema) ensures all CLI output is
 * machine-parseable JSON by default, with optional human-readable modes.
 *
 * All envelopes are now full LAFS-compliant with $schema and _meta.
 * The backward-compatible shape (success + data, no _meta) has been removed.
 *
 * Types are re-exported from the canonical source in src/types/lafs.ts.
 *
 * @epic T4663
 * @task T4672
 */
import type { LafsEnvelope, LafsError, LafsSuccess } from '@cleocode/contracts';
import type { LAFSPage, Warning } from '@cleocode/lafs';
import { CleoError } from './errors.js';
export type { LafsEnvelope, LafsError, LafsSuccess };
/**
 * Push a deprecation or informational warning into the current envelope.
 * Warnings are drained (consumed) by the next formatSuccess/formatError call.
 *
 * @task T4669
 * @epic T4663
 */
export declare function pushWarning(warning: Warning): void;
/**
 * Options for envelope formatting.
 *
 * @task T4668
 * @task T4670
 * @epic T4663
 */
export interface FormatOptions {
    operation?: string;
    page?: LAFSPage;
    extensions?: Record<string, unknown>;
    /** MVI level to embed in the envelope _meta. Defaults to 'standard'. @task T4957 */
    mvi?: import('@cleocode/lafs').MVILevel;
}
/**
 * Format a successful result as a full LAFS-conformant envelope.
 *
 * Always produces the full LAFSEnvelope with $schema and _meta.
 * When operation is omitted, defaults to 'cli.output'.
 * Supports optional page (T4668) and _extensions (T4670).
 *
 * @task T4672
 * @task T4668
 * @task T4670
 * @epic T4663
 */
export declare function formatSuccess<T>(data: T, message?: string, operationOrOpts?: string | FormatOptions): string;
/**
 * Format an error as a full LAFS-conformant envelope.
 *
 * Always produces the full LAFSEnvelope with $schema and _meta.
 * When operation is omitted, defaults to 'cli.output'.
 *
 * @task T4672
 * @epic T4663
 */
export declare function formatError(error: CleoError, operation?: string): string;
/** Format any result (success or error) as LAFS JSON. */
export declare function formatOutput<T>(result: T | CleoError): string;
//# sourceMappingURL=output.d.ts.map