import { ESLBaseTrigger } from './esl-base-trigger';
import type { ESLToggleable } from '../../esl-toggleable/core/esl-toggleable';
export declare class ESLTrigger extends ESLBaseTrigger {
    static is: string;
    static observedAttributes: string[];
    /** Selector for ignored inner elements */
    ignore: string;
    /** Target Toggleable {@link ESLTraversingQuery} selector */
    target: string;
    /** Action to pass to the Toggleable. Supports `show`, `hide` and `toggle` values. `toggle` by default */
    mode: 'toggle' | 'show' | 'hide';
    /** Selector of inner target element to place aria attributes. Uses trigger itself if blank */
    a11yTarget: string;
    protected _$target: ESLToggleable | null;
    /** Target observable Toggleable */
    get $target(): ESLToggleable | null;
    set $target(newPopupInstance: ESLToggleable | null);
    /** Element target to setup aria attributes */
    get $a11yTarget(): HTMLElement | null;
    protected connectedCallback(): void;
    protected attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string | null): void;
    /** Update `$target` Toggleable  from `target` selector */
    updateTargetFromSelector(): void;
    /** Check if the event target should be ignored */
    protected isTargetIgnored(target: EventTarget | null): boolean;
}
declare global {
    export interface ESLLibrary {
        Trigger: typeof ESLTrigger;
    }
    export interface HTMLElementTagNameMap {
        'esl-trigger': ESLTrigger;
    }
}
