import "../../common/DisposePolyfill.js";
/** @internal */
export declare const VALUE_BATCH_SIZE = 100;
/** @internal */
export declare const FILTER_WARNING_OPTION: {
    label: string;
    value: string;
    disabled: boolean;
};
interface LoadedItems<T> {
    options: T[];
    length: number;
    hasMore: boolean;
}
/** @internal */
export declare class ItemsLoader<T> {
    private _beforeLoad;
    private _onItemsLoaded;
    private _loadItems;
    private _getOptionLabel;
    private _loadedItems;
    private _isLoading;
    private _hasMore;
    private _disposed;
    private _offset;
    constructor(_beforeLoad: () => void, _onItemsLoaded: (newItems: T[]) => void, _loadItems: (offSet: number) => Promise<LoadedItems<T>>, _getOptionLabel: (option: T) => string);
    [Symbol.dispose](): void;
    loadMatchingItems(valuesToMatch?: string[]): Promise<void>;
    loadItems(filterText?: string): Promise<void>;
    private loadUniqueItems;
}
export {};
//# sourceMappingURL=ItemsLoader.d.ts.map