import { default as CxButton } from '../../../button/button.ts';
import { default as CxDropdown } from '../../../dropdown/dropdown.ts';
import { default as CxIcon } from '../../../icon/icon.ts';
import { default as CxMenu } from '../../../menu/menu.ts';
import { default as CxMenuItem } from '../../../menu-item/menu-item.ts';
import { default as CortexElement } from '../../../../../../base/src/cortex-element.ts';
import { SavedSearchItem } from '../../../../../../types/src/table';
import { CSSResultGroup } from 'lit';

/**
 * @summary CxTableSavedSearchDropdown
 */
export default class CxTableSavedSearchDropdown extends CortexElement {
    static readonly styles: CSSResultGroup;
    static readonly dependencies: {
        'cx-button': typeof CxButton;
        'cx-dropdown': typeof CxDropdown;
        'cx-icon': typeof CxIcon;
        'cx-menu': typeof CxMenu;
        'cx-menu-item': typeof CxMenuItem;
    };
    private readonly localize;
    private fetchController;
    /**
     * The URL to load the saved searches from
     */
    savedSearchURL: string;
    /**
     * The items to display in the saved search dropdown if savedSearchURL is not provided
     */
    savedSearchItems: SavedSearchItem[];
    /**
     * The parameter name for the page size for the saved search dropdown
     */
    savedSearchPageSizeParam: string;
    /**
     * The page size for the saved search dropdown
     */
    savedSearchPageSize: number;
    /**
     * The parameter name for the page number for the saved search dropdown
     */
    savedSearchPageNumberParam: string;
    totalCount: number;
    loading: boolean;
    private currentPage;
    createRenderRoot(): this;
    private get hasMore();
    private resetSavedSearchState;
    private getSavedSearchItems;
    private handleLoadMore;
    handleSavedSearchURLChange(): void;
    private handleSavedSearchItemSelect;
    render(): import('lit').TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'cx-table-saved-search-dropdown': CxTableSavedSearchDropdown;
    }
}
