/**
 * OpenCode SDK Exporter
 *
 * Exports ContractSpec AgentSpec definitions to formats compatible with
 * @opencode-ai/sdk (JSON config and markdown agent files).
 */
import type { AgentSpec } from '../spec/spec';
import type { Exporter, OpenCodeAgentJSON, OpenCodeExportOptions, OpenCodeExportResult } from './types';
/**
 * OpenCode SDK Exporter.
 */
export declare class OpenCodeExporter implements Exporter<OpenCodeExportOptions, OpenCodeExportResult> {
    readonly format: "opencode";
    /**
     * Export an AgentSpec to OpenCode SDK format.
     */
    export(spec: AgentSpec, options?: OpenCodeExportOptions): OpenCodeExportResult;
    /**
     * Export multiple specs.
     */
    exportMany(specs: AgentSpec[], options?: OpenCodeExportOptions): OpenCodeExportResult[];
    /**
     * Validate that a spec can be exported.
     */
    validate(spec: AgentSpec): {
        valid: boolean;
        errors: string[];
    };
    /**
     * Build OpenCode agent JSON configuration.
     */
    private buildJsonConfig;
    /**
     * Export tools to OpenCode format.
     */
    private exportTools;
    /**
     * Generate markdown agent file content.
     */
    private generateMarkdown;
    /**
     * Get description for agent type.
     */
    private getAgentTypeDescription;
}
/**
 * Export an AgentSpec to OpenCode SDK format.
 */
export declare function exportToOpenCode(spec: AgentSpec, options?: OpenCodeExportOptions): OpenCodeExportResult;
/**
 * Generate OpenCode agent markdown from an AgentSpec.
 */
export declare function generateOpenCodeMarkdown(spec: AgentSpec, options?: OpenCodeExportOptions): string;
/**
 * Generate OpenCode agent JSON from an AgentSpec.
 */
export declare function generateOpenCodeJSON(spec: AgentSpec, options?: OpenCodeExportOptions): OpenCodeAgentJSON;
/**
 * Validate an AgentSpec for OpenCode SDK export.
 */
export declare function validateForOpenCode(spec: AgentSpec): {
    valid: boolean;
    errors: string[];
};
