import { default as React } from 'react';
import { Symbolizer, LineSymbolizer } from 'geostyler-style';
import { ColorFieldProps } from '../Field/ColorField/ColorField';
import { OpacityFieldProps } from '../Field/OpacityField/OpacityField';
import { WidthFieldProps } from '../Field/WidthField/WidthField';
import { LineJoinFieldProps } from '../Field/LineJoinField/LineJoinField';
import { OffsetFieldProps } from '../Field/OffsetField/OffsetField';
import { GraphicEditorProps } from '../GraphicEditor/GraphicEditor';
import { InputConfig } from '../../../context/GeoStylerContext/GeoStylerContext';
import { VisibilityFieldProps } from '../Field/VisibilityField/VisibilityField';
export interface LineEditorComposableProps {
    colorField?: InputConfig<ColorFieldProps['value']>;
    widthField?: InputConfig<WidthFieldProps['value']>;
    perpendicularOffsetField?: InputConfig<OffsetFieldProps['value']>;
    opacityField?: InputConfig<OpacityFieldProps['value']>;
    lineDashField?: {
        visibility?: boolean;
    };
    dashOffsetField?: InputConfig<OffsetFieldProps['value']>;
    capField?: {
        visibility?: boolean;
    };
    joinField?: InputConfig<LineJoinFieldProps['value']>;
    graphicStrokeField?: InputConfig<GraphicEditorProps['value']>;
    graphicFillField?: InputConfig<GraphicEditorProps['value']>;
    visibilityField?: InputConfig<VisibilityFieldProps['value']>;
}
export interface LineEditorInternalProps {
    /** Symbolizer */
    symbolizer: LineSymbolizer;
    /** Callback when symbolizer changes */
    onSymbolizerChange?: (changedSymb: Symbolizer) => void;
}
export type LineEditorProps = LineEditorInternalProps & LineEditorComposableProps;
export declare const LineEditor: React.FC<LineEditorProps>;
