import { TemplateResult } from 'lit';
export declare type ISourceItem = {
    key: string;
    [key: string]: string | number | Record<string, any>;
};
export declare type TFilterType = 'checkbox' | 'text' | 'number' | 'date' | 'select';
export interface TFilterItem {
    divider?: boolean;
    title?: string;
    text: string;
    value: string | number | boolean;
    items?: string[];
    checked?: boolean;
    placeholder?: string;
    name?: string;
    type?: TFilterType;
    onFilter?: (value: string | number | boolean, record: ISourceItem, filters?: Map<string, TFilterItem[]>) => boolean;
}
export declare type TColumnItem = {
    title: string;
    key: string;
    valueFn?: (data: any) => string | TemplateResult;
    filters?: TFilterItem[];
    sorter?: boolean | ((a: ISourceItem, b: ISourceItem, direction: TSortDirections) => number);
    sortDirections?: TSortDirections[];
    width?: number;
    percent?: number;
    defaultSort?: boolean;
    align?: string;
    ellipses?: boolean;
    getStatus?: (data: any) => string;
    halfHidden?: (data: any) => boolean;
};
export declare type TRowSelected = (data: any) => boolean;
export declare type TSortDirections = 'ascend' | 'descend';
