import { AIMSAccount } from '@al/core';
import { ElementRef, EventEmitter, OnInit } from '@angular/core';
import { Dropdown } from 'primeng-lts/dropdown';
import * as i0 from "@angular/core";
export declare class AlArchipeligo17AccountSelectorComponent implements OnInit {
    private elRef;
    /**
     * Account list data and account which is curently active.
     */
    accountList: AIMSAccount[];
    activeAccountName: string;
    activeAccountID: string;
    /**
     * Account selection event
     */
    accountSelection: EventEmitter<AIMSAccount>;
    dropdown: Dropdown;
    primaryAccountId: string;
    accountListView: AIMSAccount[];
    filteredAccountList: AIMSAccount[];
    /**
     * Flags.
     */
    expanded: boolean;
    lastSearch: string;
    /**
     * Default view variables.
     */
    viewDefaults: {
        millisecondsToCloseAfterClickOutside: number;
    };
    item: AIMSAccount;
    scrollHeight: string;
    constructor(elRef: ElementRef);
    ngOnInit(): void;
    /**
     * When the user clicks outside of the input and lost the focus
     * it is a mouse leave too.
     */
    focusOutFunction(event: Event): void;
    /**
     * When the user change an account.
     */
    onChange($event: {
        value: AIMSAccount;
        originalEvent: MouseEvent;
    }): void;
    sendAccount(account: AIMSAccount): void;
    /**
     * Receives userInput from search bar component and uses to filter
     * account tiles.
     */
    onSearchChanged($event: {
        target: HTMLInputElement;
    }): void;
    /**
     * Filter the account list by name and id based on the search.
     */
    filterAccounts(): void;
    resizeDropdown(): void;
    onKeydownEscapeHandler(evt: KeyboardEvent): void;
    onKeydownEnterHandler(evt: KeyboardEvent): void;
    /**
     * Expands the menu and disable the scrolling on the page.
     */
    expandMenu(): void;
    /**
     * Collapse the menu and return the scrolling to the page.
     */
    collapseMenu($event: Event): void;
    /**
     * Execute the sort of the accounts and then show the result
     * in the view.
     */
    sortAccounts(): void;
    clearFilter($event: Event): void;
    static ɵfac: i0.ɵɵFactoryDef<AlArchipeligo17AccountSelectorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<AlArchipeligo17AccountSelectorComponent, "al-archipeligo17-account-selector", never, { "accountList": "accountList"; "activeAccountName": "activeAccountName"; "activeAccountID": "activeAccountID"; }, { "accountSelection": "accountSelection"; }, never, never>;
}
