import { EventEmitter, ComponentInterface } from '../../stencil-public-runtime';
import { BalConfigObserver, BalConfigState } from '../../utils/config';
import { Loggable, LogInstance } from '../../utils/log';
import { AccordionState } from '../../interfaces';
export declare class Accordion implements ComponentInterface, BalConfigObserver, Loggable {
    private componentId;
    private contentEl;
    private contentElWrapper;
    private currentRaf;
    el?: HTMLElement;
    state: AccordionState;
    animated: boolean;
    log: LogInstance;
    createLogger(log: LogInstance): void;
    active: boolean;
    protected activeChanged(newActive: boolean, oldActive: boolean): Promise<void>;
    debounce: number;
    protected debounceChanged(): void;
    openLabel: string;
    openIcon: string;
    closeLabel: string;
    closeIcon: string;
    card: boolean;
    version: number;
    balChange: EventEmitter<BalEvents.BalAccordionChangeDetail>;
    balWillAnimate: EventEmitter<BalEvents.BalAccordionWillAnimateDetail>;
    balDidAnimate: EventEmitter<BalEvents.BalAccordionDidAnimateDetail>;
    connectedCallback(): Promise<void>;
    configChanged(state: BalConfigState): Promise<void>;
    present(): Promise<boolean>;
    dismiss(): Promise<boolean>;
    toggle(): Promise<boolean>;
    humanToggle(): Promise<boolean>;
    private get summaryElement();
    private get triggerElement();
    private get detailsElement();
    private get detailsWrapperElement();
    private updateState;
    private setState;
    private updateDetailsElement;
    private updateTriggerElement;
    private updateSummaryElement;
    private expand;
    private collapse;
    private shouldAnimate;
    private onTriggerClickV1;
    render(): any;
    renderVersion2(): any;
    renderVersion1(): any;
}
