/**
 * Schema-to-Markdown Utilities
 *
 * Generate markdown from SchemaModel definitions and data.
 * Provides automatic table, list, and detail view generation
 * based on schema field introspection.
 */
import type { AnySchemaModel } from '@contractspec/lib.schema/SchemaModel';
/**
 * Options for schema-to-markdown generation
 */
export interface SchemaMarkdownOptions {
    /** Title for the markdown section */
    title?: string;
    /** Description to include below the title */
    description?: string;
    /** Output format: table for lists, list for simple items, detail for single objects */
    format?: 'table' | 'list' | 'detail' | 'auto';
    /** Maximum number of items to render (for arrays) */
    maxItems?: number;
    /** Only include these fields (if not specified, all fields are included) */
    includeFields?: string[];
    /** Exclude these fields from output */
    excludeFields?: string[];
    /** Custom field labels (field name -> display label) */
    fieldLabels?: Record<string, string>;
    /** Fields to use for summary in list format */
    summaryFields?: string[];
    /** Nesting depth for nested schemas (default: 2) */
    maxDepth?: number;
}
/**
 * Generate markdown from a SchemaModel and data.
 * Automatically detects array vs object data and formats accordingly.
 */
export declare function schemaToMarkdown(schema: AnySchemaModel, data: unknown, options?: SchemaMarkdownOptions): string;
/**
 * Generate a markdown table from array data using schema fields as columns.
 */
export declare function schemaToMarkdownTable(schema: AnySchemaModel, items: unknown[], options?: SchemaMarkdownOptions): string;
/**
 * Generate a markdown list from array data.
 * Uses summaryFields to create concise list items.
 */
export declare function schemaToMarkdownList(schema: AnySchemaModel, items: unknown[], options?: SchemaMarkdownOptions): string;
/**
 * Generate a markdown detail view (key-value pairs) from object data.
 */
export declare function schemaToMarkdownDetail(schema: AnySchemaModel, item: unknown, options?: SchemaMarkdownOptions): string;
/**
 * Generate markdown summary statistics for numeric fields in array data.
 */
export declare function schemaToMarkdownSummary(items: unknown[], options?: {
    numericFields?: string[];
    countByField?: string;
}): string;
