/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { ICustomElementFoundation } from '@tylertech/forge-core';
import { ListDropdownHeaderBuilder, ListDropdownFooterBuilder } from './list-dropdown-constants';
export interface IListDropdownAwareFoundation extends ICustomElementFoundation {
    popupClasses: string | string[];
    popupHeaderBuilder: ListDropdownHeaderBuilder;
    popupFooterBuilder: ListDropdownHeaderBuilder;
    syncPopupWidth: boolean;
    optionLimit: number;
    observeScroll: boolean;
    observeScrollThreshold: number;
    constrainPopupWidth: boolean;
    wrapOptionText: boolean;
}
export declare abstract class ListDropdownAwareFoundation implements IListDropdownAwareFoundation {
    protected _popupClasses: string | string[];
    protected _popupHeaderBuilder: ListDropdownHeaderBuilder;
    protected _popupFooterBuilder: ListDropdownFooterBuilder;
    protected _syncPopupWidth: boolean;
    protected _optionLimit: number;
    protected _observeScroll: boolean;
    protected _observeScrollThreshold: number;
    protected _constrainPopupWidth: boolean;
    protected _wrapOptionText: boolean;
    get syncPopupWidth(): boolean;
    set syncPopupWidth(value: boolean);
    get popupClasses(): string | string[];
    set popupClasses(value: string | string[]);
    get observeScroll(): boolean;
    set observeScroll(value: boolean);
    get observeScrollThreshold(): number;
    set observeScrollThreshold(value: number);
    get optionLimit(): number;
    set optionLimit(value: number);
    get popupHeaderBuilder(): ListDropdownHeaderBuilder;
    set popupHeaderBuilder(value: ListDropdownHeaderBuilder);
    get popupFooterBuilder(): ListDropdownFooterBuilder;
    set popupFooterBuilder(value: ListDropdownFooterBuilder);
    get constrainPopupWidth(): boolean;
    set constrainPopupWidth(value: boolean);
    get wrapOptionText(): boolean;
    set wrapOptionText(value: boolean);
    protected _applySelection(): void;
}
