import { type LocalizedFieldValue } from '../utilities/normalizedFieldValues.js';
import type { JsonEditorConfiguration } from './appearance/json.js';
import type { StringCheckboxGroupEditorConfiguration } from './appearance/string_checkbox_group.js';
import type { StringMultiSelectEditorConfiguration } from './appearance/string_multi_select.js';
import type { RequiredValidator } from './validators/required.js';
export type JsonFieldValue = string | null;
export declare function isJsonFieldValue(value: unknown): value is JsonFieldValue;
export declare function isLocalizedJsonFieldValue(value: unknown): value is LocalizedFieldValue<JsonFieldValue>;
export type JsonFieldValidators = {
    /** Value must be specified or it won't be valid */
    required?: RequiredValidator;
};
export type JsonFieldAppearance = {
    editor: 'json';
    parameters: JsonEditorConfiguration;
} | {
    editor: 'string_multi_select';
    parameters: StringMultiSelectEditorConfiguration;
} | {
    editor: 'string_checkbox_group';
    parameters: StringCheckboxGroupEditorConfiguration;
} | {
    /** Plugin ID */
    editor: string;
    /** Plugin configuration */
    parameters: Record<string, unknown>;
};
