import { SmzSvgFeature } from '../../modules/smz-svg/models/smz-svg';
import { SmzBuilderUtilities } from '../common/smz-builder-utilities';
import { SmzSvgFeatureBuilder } from './svg-feature';
import { SmzSvgBuilder } from './svg-builder';
import { SmzSVGWrapper } from '../../modules/smz-svg/models/smz-svg-wrapper';
import { Container } from '@svgdotjs/svg.js';
export declare class SmzSvgBaseFeatureBuilder<T> extends SmzBuilderUtilities<T> {
    _featureBuilder: SmzSvgFeatureBuilder;
    _feature: SmzSvgFeature;
    _svgBuilder: SmzSvgBuilder;
    protected that: T;
    constructor(_featureBuilder: SmzSvgFeatureBuilder, _feature: SmzSvgFeature, _svgBuilder: SmzSvgBuilder);
    useTooltip(content: string): T;
    useAdaptative(minWidth: number, maxWidth: number): T;
    transform(callback: (container: Container, elementId: string, feature: SmzSvgFeature, draw: SmzSVGWrapper) => void): T;
    setStyleClass(styleClass: string): T;
    useHighlight(color: string): T;
    setClickCallback(callback: (id: string, svg: SmzSVGWrapper, data: any) => void): T;
    setDbClickCallback(callback: (id: string, svg: SmzSVGWrapper, data: any) => void): T;
    setFocus(behavior: 'onClick' | 'onDbClick'): T;
    setData(data: any): T;
    setId(id: string): T;
    setColor(color: string): T;
    setStroke(color: string): T;
    setFocusApproximation(approximation: number): T;
    addScope(scope: string): T;
    get feature(): SmzSvgFeatureBuilder;
}
