import { ComponentInterface, EventEmitter } from '../../../stencil-public-runtime';
import { HTMLStencilElement } from '../../../stencil-public-runtime';
import { BalConfigState, BalLanguage } from '../../../utils/config';
import { Loggable, LogInstance } from '../../../utils/log';
export interface BalListItemAccordionHeadAria {
    controlId?: string;
}
export declare class ListItemAccordionHead implements ComponentInterface, Loggable {
    private internalId;
    el: HTMLStencilElement;
    ariaState: BalListItemAccordionHeadAria;
    language: BalLanguage;
    log: LogInstance;
    createLogger(log: LogInstance): void;
    /**
     * PUBLIC PROPERTY API
     * ------------------------------------------------------
     */
    /**
     * If `true` the list accordion is open
     */
    accordionOpen: boolean;
    accordionOpenHandler(newValue: boolean, oldValue: boolean): void;
    /**
     * Icon name string with value 'plus' on default
     */
    icon: BalProps.BalListItemAccordionHeadIcon;
    /**
     * Emitted when the accordion state is changed
     */
    balAccordionChange: EventEmitter<BalEvents.BalListAccordionChangeDetail>;
    /**
     * LIFECYCLE
     * ------------------------------------------------------
     */
    connectedCallback(): void;
    componentDidRender(): void;
    /**
     * LISTENERS
     * ------------------------------------------------------
     */
    /**
     * @internal define config for the component
     */
    configChanged(state: BalConfigState): Promise<void>;
    /**
     * PUBLIC METHODS
     * ------------------------------------------------------
     */
    /**
     * @internal
     */
    setAria(aria: BalListItemAccordionHeadAria): Promise<void>;
    /**
     * PRIVATE METHODS
     * ------------------------------------------------------
     */
    private setLabelledby;
    /**
     * EVENT BINDING
     * ------------------------------------------------------
     */
    private onClick;
    private onKeyDown;
    /**
     * RENDER
     * ------------------------------------------------------
     */
    render(): any;
}
