/**
 * LLM Export Functions
 *
 * Provides multi-format markdown export for specs, features, presentations,
 * and other ContractSpec artifacts for LLM consumption.
 */
import type { AnySchemaModel } from '@contractspec/lib.schema';
import type { DocBlock } from '../docs/types';
import type { EventSpec } from '../events';
import type { FeatureModuleSpec } from '../features';
import type { AnyOperationSpec } from '../operations/';
import type { OperationSpecRegistry } from '../operations/registry';
import type { PresentationRegistry } from '../presentations';
import type { PresentationSpec } from '../presentations/';
import type { VisualizationRegistry, VisualizationSpec } from '../visualizations';
import type { FeatureExportOptions, FeatureExportResult, SpecExportOptions, SpecExportResult } from './types';
/**
 * Export a single spec to context-focused markdown.
 * Includes: goal, context, description, acceptance scenarios.
 * Best for: Understanding what the spec does, providing context to LLMs.
 */
export declare function operationSpecToContextMarkdown(spec: AnyOperationSpec): string;
/**
 * Export a single spec to full markdown with all details.
 * Includes: all fields, I/O schemas, policy, events, examples.
 * Best for: Complete documentation, implementation reference.
 */
export declare function operationSpecToFullMarkdown(spec: AnyOperationSpec, options?: Partial<SpecExportOptions>): string;
/**
 * Export a single spec as an actionable agent prompt.
 * Includes: instructions, full spec, expected output format.
 * Best for: Directly feeding to coding agents for implementation.
 */
export declare function operationSpecToAgentPrompt(spec: AnyOperationSpec, options?: {
    taskType?: 'implement' | 'test' | 'refactor' | 'review';
    existingCode?: string;
}): string;
/**
 * Export a feature module to markdown.
 * Includes all related specs, events, and presentations.
 */
export declare function featureToMarkdown(feature: FeatureModuleSpec, deps?: {
    specs?: OperationSpecRegistry;
    presentations?: PresentationRegistry;
    visualizations?: VisualizationRegistry;
}, options?: Partial<FeatureExportOptions>): string;
/**
 * Export a presentation descriptor to markdown.
 */
export declare function presentationToMarkdown(presentation: PresentationSpec): string;
export declare function visualizationToMarkdown(visualization: VisualizationSpec): string;
/**
 * Export an event spec to markdown.
 */
export declare function eventToMarkdown(event: EventSpec<AnySchemaModel>): string;
/**
 * Export a DocBlock to markdown (already markdown, but formatted consistently).
 */
export declare function docBlockToMarkdown(doc: DocBlock): string;
/**
 * Export a spec with a specific format.
 * Convenience function that wraps the format-specific functions.
 */
export declare function exportSpec(spec: AnyOperationSpec, options?: Partial<SpecExportOptions>): SpecExportResult;
/**
 * Export a feature with a specific format.
 */
export declare function exportFeature(feature: FeatureModuleSpec, deps?: {
    specs?: OperationSpecRegistry;
    presentations?: PresentationRegistry;
    visualizations?: VisualizationRegistry;
}, options?: Partial<FeatureExportOptions>): FeatureExportResult;
