import type { IComponentSchema } from './IComponentSchema';
import type { ISerializationOptions } from './ISerializationOptions';
/**
 * Convert component schema to JSON Schema representation
 *
 * @example
 * toJson({ name: 'Button', accepts: { click: { params: { id: { type: 'string' } } } }, emits: { clicked: {} } })
 * // Returns JSON Schema for the component
 */
export declare function toJson(schema: IComponentSchema, options?: ISerializationOptions): string;
/**
 * Convert to JSON Schema object
 */
export declare function toJsonSchema(schema: IComponentSchema): JsonSchemaComponent;
interface JsonSchemaComponent {
    $schema: string;
    $id: string;
    title: string;
    type: string;
    properties: Record<string, JsonSchemaProperty | JsonSchemaObject>;
}
interface JsonSchemaObject {
    type: 'object';
    properties: Record<string, JsonSchemaProperty>;
    required?: string[];
    description?: string;
}
interface JsonSchemaProperty {
    type: string | string[];
    description?: string;
    default?: unknown;
    const?: string;
    items?: JsonSchemaComponent | JsonSchemaComponent[];
    properties?: Record<string, JsonSchemaProperty>;
    required?: string[];
}
export {};
//# sourceMappingURL=toJson.d.ts.map