import type { RendererProps } from 'jamis-core';
import type { BaseSchema, StaticControlSchemaBase } from '../../types';
/**
 * JSON 数据展示控件。
 */
export interface JsonSchema extends BaseSchema {
    /**
     * 指定为Json展示类型
     */
    type: 'json';
    /**
     * 默认展开的级别
     */
    levelExpand?: number;
    /**
     * 支持从数据链取值
     */
    source?: string;
    /**
     * 是否可修改
     */
    mutable?: boolean;
    /**
     * 是否显示数据类型
     */
    displayDataTypes?: boolean;
    /**
     * 是否可复制
     */
    enableClipboard?: boolean;
    /**
     * 图标风格
     */
    iconStyle?: 'square' | 'circle' | 'triangle';
    /**
     * 是否显示键的引号
     */
    quotesOnKeys?: boolean;
    /**
     * 是否为键排序
     */
    sortKeys?: boolean;
    /**
     * 设置字符串的最大展示长度，超出长度阈值的字符串将被截断，点击value可切换字符串展示方式，默认为false
     */
    ellipsisThreshold?: number | false;
    /**
     * 默认值
     */
    value?: any;
}
export interface StaticJsonSchema extends Omit<JsonSchema, 'type'>, StaticControlSchemaBase {
    type: 'static-json';
}
export interface JSONProps extends RendererProps, Omit<JsonSchema, 'data'> {
    levelExpand: number;
    className?: string;
    placeholder?: string;
    jsonTheme: string;
    hideRoot?: boolean;
    source?: string;
}
