export declare const TRIGGER_EVT = "toggleTrigger";
export declare const TOGGLE_EVT = "toggle";
interface ToggleConfig {
    activeClass: string;
    settingsAttr: string;
}
interface ToggleSetting {
    target: string;
    attribute: string;
    action?: string;
    value?: string | boolean;
    clickOutside?: boolean;
}
interface ToggleTarget extends Omit<ToggleSetting, "target"> {
    element: Element;
    value?: string | boolean;
    dispatchEvent?: boolean;
}
declare class Toggle {
    private element;
    private config;
    private settings;
    private targets;
    private hasClickOutside;
    constructor(element: HTMLElement, config?: Partial<ToggleConfig>);
    doToggle(props: ToggleTarget): ToggleTarget;
    init(): ToggleTarget[];
    handleClick(): void;
    handleClickOutside(event: Event): void;
    destroy(): void;
    update(): void;
    static getTargetElementsFromString({ target, trigger, }: {
        target: string;
        trigger: HTMLElement;
    }): Element[];
    parseSettings(): ToggleSetting[];
    setupTargets(): ToggleTarget[];
    removeNonExistentTargets(): void;
    addNewTargets(): void;
    static getInstance(el: HTMLElement): Toggle | null;
}
export default Toggle;
