import { EventEmitter, JSX } from '../../stencil-public-runtime';
import { PinController } from '../../lib/pins/controller';
import { TextPin } from '../../lib/pins/model';
export declare class VertexPinLabel {
    /**
     * The pin to draw for the group
     */
    pin?: TextPin;
    /**
     * The dimensions of the canvas for the pins
     */
    elementBounds?: DOMRect;
    /**
     * The current text value of the component. Value is updated on user
     * interaction.
     */
    value: string;
    /**
     * The controller that drives behavior for pin operations
     */
    pinController?: PinController;
    /**
     * @internal
     */
    labelChanged: EventEmitter<void>;
    /**
     * Emitted whenever the label is focused, with the ID of the
     * associated pin (or undefined if no pin is provided).
     */
    labelFocused: EventEmitter<string | undefined>;
    /**
     * Emitted whenever the label is blurred, with the ID of the
     * associated pin (or undefined if no pin is provided).
     */
    labelBlurred: EventEmitter<string | undefined>;
    private hostEl;
    private focused;
    private computedScreenPosition?;
    private textareaRows;
    private contentElBounds?;
    private relativePointerDownPosition?;
    private pinPointerDownPosition?;
    private inputEl?;
    private contentEl?;
    private resizeObserver?;
    private contentResizeObserver?;
    /**
     * Gives focus to the component's internal text input.
     */
    setFocus(): Promise<void>;
    /**
     * @internal
     * submits the current text, unfocuses the input and emits the blur event to consumers
     */
    submit(): Promise<void>;
    protected watchFocusChange(): void;
    protected watchPinChange(): void;
    protected watchElementBoundsChange(): void;
    protected componentWillLoad(): void;
    protected componentDidLoad(): void;
    protected disconnectedCallback(): void;
    protected componentDidRender(): void;
    protected render(): JSX.Element;
    private hiddenContent;
    private computeMinWidth;
    private computeMaxWidth;
    private computeMaxHeight;
    private computeRemainingWidth;
    private computeRemainingHeight;
    private computeScreenPosition;
    private computeContentSize;
    private handleInputKeyDown;
    private handlePointerDown;
    private handlePointerMove;
    private handlePointerUp;
    private handleTextBlur;
    private handleTextInput;
}
