/**
 * The event data for the "change" event
 */
export declare interface ListViewChangeData {
    filters: ListViewChangeDataFilters;
    isFiltered: boolean;
    page: {
        number: number;
        previousNumber: number | null;
        size: number;
    };
    search: string;
    sort: string;
    trigger: ListViewChangeTrigger;
}

export declare interface ListViewChangeDataFilters<T extends object = object> {
    [key: string]: {
        filterBy: Array<boolean | string>;
        filterType: ListViewFilterType;
        isMultiple: boolean;
        customFilter?: (filterValues: T[], itemValue: keyof T, item: T) => boolean;
    };
}

export declare type ListViewChangeTrigger = 'apply' | 'filter' | 'load' | 'page' | 'search' | 'sort';

export declare type ListViewFilterType = 'll-checkbox' | 'll-select' | 'll-date-legacy' | 'll-input' | 'll-input-options' | 'DatePicker';

export { }
