import { Component, TemplateFunction, ScopeBase } from "@ribajs/core";
import { PopoverOptions } from "@ribajs/bs5";
import { TaggedImageTag as Tag } from "../../types/index.js";
interface Options {
    popoverOptions: Partial<PopoverOptions>;
    tagOptions: Partial<Tag>;
    multiPopover?: boolean;
}
interface Scope extends ScopeBase {
    debug: boolean;
    options: Options;
    tags: Tag[];
    fillPopoverOptions: (options: Partial<PopoverOptions>) => Partial<PopoverOptions>;
    triggerOnFocus: (options: Partial<PopoverOptions>) => any;
    onPopoverBound: EventListener;
    onPopoverShown: EventListener;
    onPopoverHidden: EventListener;
    onClick: EventListener;
    updateTagPositions: EventListener;
}
export declare class Bs5TaggedImageComponent extends Component {
    static tagName: string;
    protected autobind: boolean;
    _debug: boolean;
    static get observedAttributes(): string[];
    image?: HTMLImageElement;
    scope: Scope;
    constructor();
    protected parsedAttributeChangedCallback(attributeName: string, oldValue: any, newValue: any): void;
    protected template(): ReturnType<TemplateFunction>;
    protected beforeBind(): Promise<void>;
    protected addEventListeners(): void;
    protected afterBind(): Promise<void>;
    protected connectedCallback(): void;
    disconnectedCallback(): void;
    protected parseColor(color: string): string;
    protected parseChildTags(): void;
    protected initTags(): void;
    protected passImageAttributes(): void;
    onClick(e: Event): void;
    onPopoverBound(event: Event): void;
    onPopoverShown(event: Event): void;
    onPopoverHidden(event: Event): void;
    protected updateTagPositions(): void;
}
export {};
