import { type ReactNode } from "react";
export interface AttributeField {
    name: string;
    label: string;
    description?: string;
    placeholder?: string;
    required?: boolean;
    validate?: (value: string) => string | null;
}
export interface SemanticTagConfig {
    tagName: string;
    title: string;
    description: string;
    example: ReactNode;
    fields: AttributeField[];
}
interface SemanticDialogProps {
    onClose: () => void;
    onConfirm: (tagName: string, text: string, attributes: Record<string, string>) => void;
    config: SemanticTagConfig;
    initialState?: Record<string, string>;
    initialText?: string;
}
/**
 * Диалог настройки семантического тега и его атрибутов в текстовом редакторе.
 */
export declare function SemanticDialog({ onClose, onConfirm, config, initialText, initialState }: SemanticDialogProps): import("react").JSX.Element;
export {};
//# sourceMappingURL=SemanticDialog.d.ts.map