import { default as React } from 'react';
import { Symbolizer, TextSymbolizer } from 'geostyler-style';
import { ColorFieldProps } from '../Field/ColorField/ColorField';
import { OpacityFieldProps } from '../Field/OpacityField/OpacityField';
import { WidthFieldProps } from '../Field/WidthField/WidthField';
import { FontPickerProps } from '../Field/FontPicker/FontPicker';
import { OffsetFieldProps } from '../Field/OffsetField/OffsetField';
import { RotateFieldProps } from '../Field/RotateField/RotateField';
import { SizeFieldProps } from '../Field/SizeField/SizeField';
import { InputConfig } from '../../../context/GeoStylerContext/GeoStylerContext';
import { VisibilityFieldProps } from '../Field/VisibilityField/VisibilityField';
import { RepeatFieldProps } from '../Field/RepeatField/RepeatField';
import { PlacementFieldProps } from '../Field/PlacementField/PlacementField';
export interface TextEditorComposableProps {
    templateField?: InputConfig<string>;
    colorField?: InputConfig<ColorFieldProps['value']>;
    fontField?: InputConfig<FontPickerProps['value']> & {
        fonts?: FontPickerProps['fonts'];
    };
    opacityField?: InputConfig<OpacityFieldProps['value']>;
    sizeField?: InputConfig<SizeFieldProps['value']>;
    offsetXField?: InputConfig<OffsetFieldProps['value']>;
    offsetYField?: InputConfig<OffsetFieldProps['value']>;
    rotateField?: InputConfig<RotateFieldProps['value']>;
    haloColorField?: InputConfig<ColorFieldProps['value']>;
    haloWidthField?: InputConfig<WidthFieldProps['value']>;
    visibilityField?: InputConfig<VisibilityFieldProps['value']>;
    placementField?: InputConfig<PlacementFieldProps['value']>;
    repeatField?: InputConfig<RepeatFieldProps['value']>;
}
export interface TextEditorInternalProps {
    symbolizer: TextSymbolizer;
    onSymbolizerChange?: (changedSymb: Symbolizer) => void;
}
export type TextEditorProps = TextEditorInternalProps & TextEditorComposableProps;
/**
 * The TextEditor class. Allows to edit text styles based on a template string
 * where words wrapped in double curly braces ({{}}) will be understood as
 * feature properties and text without curly braces as static text.
 */
export declare const TextEditor: React.FC<TextEditorProps>;
