import { ESLBaseElement } from '../../../esl-base-element/core';
import type { ESLSelect } from './esl-select';
/**
 * ESLSelectRenderer component
 * @author Alexey Stsefanovich (ala'n)
 *
 * Auxiliary inner custom element to render {@link ESLSelect} inline field
 */
export declare class ESLSelectRenderer extends ESLBaseElement {
    static readonly is = "esl-select-renderer";
    /** Attribute for empty text value */
    emptyText: string;
    /** Attribute for more label format */
    moreLabelFormat: string;
    /** Marker attribute to reflect filled state */
    hasValue: boolean;
    /** Internal container */
    protected get $container(): HTMLElement;
    /** Inner remove button */
    protected get $remove(): HTMLElement;
    /** Inner text element */
    protected get $text(): HTMLElement;
    /** Inner rest label element */
    protected get $rest(): HTMLElement;
    /** ESLSelect owner */
    get owner(): ESLSelect | null;
    protected connectedCallback(): void;
    protected disconnectedCallback(): void;
    /** Rerender component with markers */
    render(): void;
    /** Render item with a visible items limit */
    protected apply(items: string[], limit: number): void;
    /** Render items using adaptive algorithm */
    protected applyItems(items: string[]): void;
    /** Handle clear button click */
    protected _onClear(e: MouseEvent): void;
    protected _onResize(): void;
}
declare global {
    export interface HTMLElementTagNameMap {
        'esl-select-renderer': ESLSelectRenderer;
    }
}
