import type { ReactNode } from 'react';
export interface YamlValidateResult {
    success: boolean;
    errorMsg?: string;
    errorDetail?: string;
}
export interface YamlTexts {
    inputYaml?: string;
    copySuccess?: string;
    copyFail?: string;
    save?: string;
    cancel?: string;
    edit?: string;
    validate?: string;
    validatePopTip?: string;
    start?: string;
    tipMessage?: string;
    editYaml?: string;
    formatOk?: string;
}
export interface YamlProps {
    height?: number | string;
    title?: string | ReactNode;
    mode?: string;
    edit?: boolean;
    changeModeAfterSave?: boolean;
    content?: string | object | null;
    validateMethod?: () => Promise<YamlValidateResult | null | undefined>;
    validator?: boolean;
    canOperate?: boolean;
    changeImmediately?: boolean;
    texts?: YamlTexts;
    onChange?: (value: string | object, reason: 'change' | 'save' | 'cancel', contentChanged?: boolean) => void;
    onCancel?: (value: string | object) => void;
    onEdit?: (value: string | object) => void;
    onSave?: (value: string | object) => void;
    onValidatorChange?: (ok: boolean, type: 1 | 2, message: string | null | unknown) => void;
}
