export interface colDef {
    isUnique?: boolean;
    field?: string;
    title?: string;
    value?: any;
    condition?: any;
    type?: string;
    width?: string | undefined;
    minWidth?: string | undefined;
    maxWidth?: string | undefined;
    hide?: boolean;
    filter?: boolean;
    search?: boolean;
    sort?: boolean;
    html?: boolean;
    cellRenderer?: [Function, string];
    headerClass?: string;
    cellClass?: string;
    range?: boolean;
    formatDate?: string;
    filterColumns?: Array<string>;
}
export interface Props {
    loading?: boolean;
    isServerMode?: boolean;
    skin?: string;
    totalRows?: number;
    rows?: Array<any>;
    columns?: Array<colDef>;
    hasCheckbox?: boolean;
    search?: string;
    columnChooser?: boolean;
    page?: number;
    pageSize?: number;
    pageSizeOptions?: Array<number>;
    showPageSize?: boolean;
    rowClass?: [Array<string>, Function];
    cellClass?: [Array<string>, Function];
    sortable?: boolean;
    sortColumn?: string;
    sortDirection?: string;
    columnFilter?: boolean;
    columnFilterLang?: Record<string, string> | null;
    pagination?: boolean;
    showNumbers?: boolean;
    showNumbersCount?: number;
    showFirstPage?: boolean;
    showLastPage?: boolean;
    firstArrow?: string;
    lastArrow?: string;
    nextArrow?: string;
    previousArrow?: string;
    paginationInfo?: string;
    noDataContent?: string;
    stickyHeader?: boolean;
    height?: string;
    stickyFirstColumn?: boolean;
    cloneHeaderInFooter?: boolean;
    selectRowOnClick?: boolean;
    fieldVerify?: string;
    virifyClass?: string;
}
declare const _default: {
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
        loading: boolean;
        isServerMode: boolean;
        skin: string;
        totalRows: number;
        rows: () => never[];
        columns: () => never[];
        hasCheckbox: boolean;
        search: string;
        columnChooser: boolean;
        page: number;
        pageSize: number;
        pageSizeOptions: () => number[];
        showPageSize: boolean;
        rowClass: never;
        cellClass: never;
        cellRenderer: null;
        sortable: boolean;
        sortColumn: string;
        sortDirection: string;
        columnFilter: boolean;
        columnFilterLang: null;
        pagination: boolean;
        showNumbers: boolean;
        showNumbersCount: number;
        showFirstPage: boolean;
        showLastPage: boolean;
        firstArrow: string;
        lastArrow: string;
        nextArrow: string;
        previousArrow: string;
        paginationInfo: string;
        noDataContent: string;
        stickyHeader: boolean;
        height: string;
        stickyFirstColumn: boolean;
        cloneHeaderInFooter: boolean;
        selectRowOnClick: boolean;
    }>>> & Readonly<{
        onFilterChange?: ((...args: any[]) => any) | undefined;
        onSortChange?: ((...args: any[]) => any) | undefined;
        onChange?: ((...args: any[]) => any) | undefined;
        onSearchChange?: ((...args: any[]) => any) | undefined;
        onPageChange?: ((...args: any[]) => any) | undefined;
        onPageSizeChange?: ((...args: any[]) => any) | undefined;
        onRowSelect?: ((...args: any[]) => any) | undefined;
        onRowClick?: ((...args: any[]) => any) | undefined;
        onRowDBClick?: ((...args: any[]) => any) | undefined;
    }>, {
        reset(): void;
        getSelectedRows(): any[];
        getColumnFilters(): colDef[];
        clearSelectedRows(): void;
        selectRow(index: number): void;
        unselectRow(index: number): void;
        isRowSelected(index: number): boolean;
        getFilteredRows(): any[];
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "filterChange" | "sortChange" | "searchChange" | "pageChange" | "pageSizeChange" | "rowSelect" | "rowClick" | "rowDBClick")[], import("vue").PublicProps, {
        search: string;
        columnFilterLang: Record<string, string> | null;
        loading: boolean;
        isServerMode: boolean;
        skin: string;
        totalRows: number;
        rows: any[];
        columns: colDef[];
        hasCheckbox: boolean;
        columnChooser: boolean;
        page: number;
        pageSize: number;
        pageSizeOptions: number[];
        showPageSize: boolean;
        rowClass: [string[], Function];
        cellClass: [string[], Function];
        sortable: boolean;
        sortColumn: string;
        sortDirection: string;
        columnFilter: boolean;
        pagination: boolean;
        showNumbers: boolean;
        showNumbersCount: number;
        showFirstPage: boolean;
        showLastPage: boolean;
        firstArrow: string;
        lastArrow: string;
        nextArrow: string;
        previousArrow: string;
        paginationInfo: string;
        noDataContent: string;
        stickyHeader: boolean;
        height: string;
        stickyFirstColumn: boolean;
        cloneHeaderInFooter: boolean;
        selectRowOnClick: boolean;
    }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
        loading: boolean;
        isServerMode: boolean;
        skin: string;
        totalRows: number;
        rows: () => never[];
        columns: () => never[];
        hasCheckbox: boolean;
        search: string;
        columnChooser: boolean;
        page: number;
        pageSize: number;
        pageSizeOptions: () => number[];
        showPageSize: boolean;
        rowClass: never;
        cellClass: never;
        cellRenderer: null;
        sortable: boolean;
        sortColumn: string;
        sortDirection: string;
        columnFilter: boolean;
        columnFilterLang: null;
        pagination: boolean;
        showNumbers: boolean;
        showNumbersCount: number;
        showFirstPage: boolean;
        showLastPage: boolean;
        firstArrow: string;
        lastArrow: string;
        nextArrow: string;
        previousArrow: string;
        paginationInfo: string;
        noDataContent: string;
        stickyHeader: boolean;
        height: string;
        stickyFirstColumn: boolean;
        cloneHeaderInFooter: boolean;
        selectRowOnClick: boolean;
    }>>> & Readonly<{
        onFilterChange?: ((...args: any[]) => any) | undefined;
        onSortChange?: ((...args: any[]) => any) | undefined;
        onChange?: ((...args: any[]) => any) | undefined;
        onSearchChange?: ((...args: any[]) => any) | undefined;
        onPageChange?: ((...args: any[]) => any) | undefined;
        onPageSizeChange?: ((...args: any[]) => any) | undefined;
        onRowSelect?: ((...args: any[]) => any) | undefined;
        onRowClick?: ((...args: any[]) => any) | undefined;
        onRowDBClick?: ((...args: any[]) => any) | undefined;
    }>, {
        reset(): void;
        getSelectedRows(): any[];
        getColumnFilters(): colDef[];
        clearSelectedRows(): void;
        selectRow(index: number): void;
        unselectRow(index: number): void;
        isRowSelected(index: number): boolean;
        getFilteredRows(): any[];
    }, {}, {}, {}, {
        search: string;
        columnFilterLang: Record<string, string> | null;
        loading: boolean;
        isServerMode: boolean;
        skin: string;
        totalRows: number;
        rows: any[];
        columns: colDef[];
        hasCheckbox: boolean;
        columnChooser: boolean;
        page: number;
        pageSize: number;
        pageSizeOptions: number[];
        showPageSize: boolean;
        rowClass: [string[], Function];
        cellClass: [string[], Function];
        sortable: boolean;
        sortColumn: string;
        sortDirection: string;
        columnFilter: boolean;
        pagination: boolean;
        showNumbers: boolean;
        showNumbersCount: number;
        showFirstPage: boolean;
        showLastPage: boolean;
        firstArrow: string;
        lastArrow: string;
        nextArrow: string;
        previousArrow: string;
        paginationInfo: string;
        noDataContent: string;
        stickyHeader: boolean;
        height: string;
        stickyFirstColumn: boolean;
        cloneHeaderInFooter: boolean;
        selectRowOnClick: boolean;
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
    loading: boolean;
    isServerMode: boolean;
    skin: string;
    totalRows: number;
    rows: () => never[];
    columns: () => never[];
    hasCheckbox: boolean;
    search: string;
    columnChooser: boolean;
    page: number;
    pageSize: number;
    pageSizeOptions: () => number[];
    showPageSize: boolean;
    rowClass: never;
    cellClass: never;
    cellRenderer: null;
    sortable: boolean;
    sortColumn: string;
    sortDirection: string;
    columnFilter: boolean;
    columnFilterLang: null;
    pagination: boolean;
    showNumbers: boolean;
    showNumbersCount: number;
    showFirstPage: boolean;
    showLastPage: boolean;
    firstArrow: string;
    lastArrow: string;
    nextArrow: string;
    previousArrow: string;
    paginationInfo: string;
    noDataContent: string;
    stickyHeader: boolean;
    height: string;
    stickyFirstColumn: boolean;
    cloneHeaderInFooter: boolean;
    selectRowOnClick: boolean;
}>>> & Readonly<{
    onFilterChange?: ((...args: any[]) => any) | undefined;
    onSortChange?: ((...args: any[]) => any) | undefined;
    onChange?: ((...args: any[]) => any) | undefined;
    onSearchChange?: ((...args: any[]) => any) | undefined;
    onPageChange?: ((...args: any[]) => any) | undefined;
    onPageSizeChange?: ((...args: any[]) => any) | undefined;
    onRowSelect?: ((...args: any[]) => any) | undefined;
    onRowClick?: ((...args: any[]) => any) | undefined;
    onRowDBClick?: ((...args: any[]) => any) | undefined;
}>, {
    reset(): void;
    getSelectedRows(): any[];
    getColumnFilters(): colDef[];
    clearSelectedRows(): void;
    selectRow(index: number): void;
    unselectRow(index: number): void;
    isRowSelected(index: number): boolean;
    getFilteredRows(): any[];
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "filterChange" | "sortChange" | "searchChange" | "pageChange" | "pageSizeChange" | "rowSelect" | "rowClick" | "rowDBClick")[], "change" | "filterChange" | "sortChange" | "searchChange" | "pageChange" | "pageSizeChange" | "rowSelect" | "rowClick" | "rowDBClick", {
    search: string;
    columnFilterLang: Record<string, string> | null;
    loading: boolean;
    isServerMode: boolean;
    skin: string;
    totalRows: number;
    rows: any[];
    columns: colDef[];
    hasCheckbox: boolean;
    columnChooser: boolean;
    page: number;
    pageSize: number;
    pageSizeOptions: number[];
    showPageSize: boolean;
    rowClass: [string[], Function];
    cellClass: [string[], Function];
    sortable: boolean;
    sortColumn: string;
    sortDirection: string;
    columnFilter: boolean;
    pagination: boolean;
    showNumbers: boolean;
    showNumbersCount: number;
    showFirstPage: boolean;
    showLastPage: boolean;
    firstArrow: string;
    lastArrow: string;
    nextArrow: string;
    previousArrow: string;
    paginationInfo: string;
    noDataContent: string;
    stickyHeader: boolean;
    height: string;
    stickyFirstColumn: boolean;
    cloneHeaderInFooter: boolean;
    selectRowOnClick: boolean;
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
    $slots: any;
});
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
    } : {
        type: import('vue').PropType<T[K]>;
        required: true;
    };
};
type __VLS_WithDefaults<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? P[K] & {
        default: D[K];
    } : P[K];
};
