import { OnDestroy, Renderer2, ElementRef, EventEmitter, SimpleChanges, NgZone, TemplateRef, AfterContentInit, OnInit, OnChanges } from '@angular/core';
import { NgOption } from './ng-select.types';
import { DropdownPosition } from './ng-select.component';
import { WindowService } from './window.service';
import { VirtualScrollService } from './virtual-scroll.service';
export declare class NgDropdownPanelComponent implements OnInit, OnChanges, OnDestroy, AfterContentInit {
    private _renderer;
    private _zone;
    private _virtualScrollService;
    private _window;
    private _document;
    items: NgOption[];
    markedItem: NgOption;
    position: DropdownPosition;
    appendTo: string;
    bufferAmount: number;
    virtualScroll: boolean;
    headerTemplate: TemplateRef<any>;
    footerTemplate: TemplateRef<any>;
    update: EventEmitter<any[]>;
    scroll: EventEmitter<{
        start: number;
        end: number;
    }>;
    scrollToEnd: EventEmitter<{
        start: number;
        end: number;
    }>;
    outsideClick: EventEmitter<void>;
    contentElementRef: ElementRef;
    scrollElementRef: ElementRef;
    paddingElementRef: ElementRef;
    private readonly _destroy$;
    private readonly _dropdown;
    private _select;
    private _previousStart;
    private _previousEnd;
    private _startupLoop;
    private _isScrolledToMarked;
    private _scrollToEndFired;
    private _currentPosition;
    private _disposeScrollListener;
    private _disposeDocumentResizeListener;
    constructor(_renderer: Renderer2, _zone: NgZone, _virtualScrollService: VirtualScrollService, _window: WindowService, _elementRef: ElementRef, _document: any);
    handleMousedown($event: MouseEvent): void;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    ngAfterContentInit(): void;
    refresh(): Promise<void>;
    scrollInto(item: NgOption): void;
    scrollIntoTag(): void;
    updateDropdownPosition(): void;
    private _handleOutsideClick;
    private _handleScroll;
    private _handleItemsChange;
    private _updateItems;
    private _fireScrollToEnd;
    private _calculateDimensions;
    private _handleDocumentResize;
    private _scrollToMarked;
    private _calculateCurrentPosition;
    private _appendDropdown;
    private _updateAppendedDropdownPosition;
    private _whenContentReady;
}
