import { FilterItem } from './FilterItem';
import { ForceDirection } from '../Enums/ForceDirection';
export declare class PagingOptions {
    /**URL of the action that will be called on update*/
    ActionPostURL: string;
    /** Comma separater list of parameters that need to be passed to the updated function, the parameter name must be the ID of the element that holds the value of the filter.
       *  ex "searchText,fromDateTimePicker" we should have now an input with id searchText and a datetime picker with id fromDateTimePicker*/
    Filters: FilterItem[];
    /**The total count for the items in the datasource */
    TotalCount: number;
    /** No of items in one page
     * Default is 10
    */
    PageSize: number;
    /**Typeahead search input, used to attach on change events to the search input to refresh the paging after change */
    TypeaheadSearchControlNames: string[];
    /**Comma separater list of Dropdowns filters , used to attach on change events to the dropdown filter to refresh the paging after change */
    DropdownFiltersControlNames: string[];
    /**Comma separater list of Bootstrap datepicker filters, used to attach on change events to the datepicker filter to refresh the paging after change */
    BootstrapDatePickersFiltersControlNames: string[];
    /**Comma separater list of any button/element filters to attach on click event, this will refresh the paging after the event is fired */
    OnClickFiltersControlNames: string[];
    /** Comma separater list of any button/element filters to attach on keypress/Enter event, this will refresh the paging after the event is fired */
    OnKeyPressFiltersControlNames: string[];
    /** The js function name to be called to update the paging total count and keep the current page as is, have to pass the new total count of the datasource items
        * Default value is Paging_Update fill this parameter in case there are multiple paging controls */
    UpdateFunctionName: string;
    /**  The js function name to be called to reinitialize the paging component with a new items count and reset the curent page to 1, you must pass the new total count of the datasource items
        * Default value is Paging_Reinitialize fill this parameter in case there are multiple paging controls*/
    ReinitializeFunctionName: string;
    /**Show a dropdown to be able to change the page size  */
    ShowPageSizeOption: boolean;
    /**js function name to be called when a page is updated */
    OnSuccessCallBackJSFunction: string;
    /** bool to set block ui by container rather than the whole window */
    BlockUIByContainer: boolean;
    /**hide Pagination When Page Size Equal One */
    HidePaginationWhenPageSizeEqualOne: boolean;
    /**Show First And Last */
    ShowFirstAndLast: boolean;
    /**Show Load More Button  And Hide Paging */
    IsLoadMoreControl: boolean;
    /** Load More items  While Scrolling  */
    IsInfiniteScroll: boolean;
    /**should get a html element or css selector for a scrollable element; window or current element will be used if this attribute is empty. */
    InfiniteScrollContainer: any;
    /**listens to the window scroll instead of the actual element scroll. this allows to invoke a callback function in the scope of the element while listenning to the window scroll. */
    ScrollWindow: boolean;
    ForceDirection: ForceDirection;
}
