import { ActionsColumnType, ColumnFilterState, ColumnType, ColumnTypeItem, ConfigType, Pagination, PaginationProp, SortingOrderDefaultType } from '../../types';
declare const _default: <Option extends import('../../types').ObjectAnyType>(__VLS_props: {
    height?: string | number | undefined;
    options?: Option[] | undefined;
    loading?: boolean | undefined;
    config?: ConfigType | undefined;
    wrapperClass?: string | undefined;
    compact?: boolean | undefined;
    loaderType?: "default" | "stretch" | "circles" | "load-icon" | "lds-spinner" | "dot-spinner" | undefined;
    readonly "onOn-row-click"?: ((option: Option, index: number) => any) | undefined;
    readonly "onOn-row-dbclick"?: ((option: Option, index: number) => any) | undefined;
    readonly "onHandle-selection-change"?: ((data: Option[]) => any) | undefined;
    readonly "onHandle-sort"?: ((data: {
        sortBy: string;
        order: string;
    }) => any) | undefined;
    readonly "onHandle-filter"?: ((data: {
        columnKey: string;
        values: Array<unknown>;
        allFilters: ColumnFilterState;
    }) => any) | undefined;
    readonly "onUpdate:externalPaginate"?: (() => any) | undefined;
    readonly "onUpdate:currentPage"?: ((pl: Pagination) => any) | undefined;
    readonly "onLoad-more"?: ((pl: boolean) => any) | undefined;
    readonly "onChange-select-all"?: ((pl: boolean) => any) | undefined;
    readonly "onClick-per-page-option"?: ((val: number) => any) | undefined;
    readonly "onUpdate:perPage"?: ((pl: Pagination) => any) | undefined;
    columns?: ColumnType | undefined;
    showSelection?: boolean | undefined;
    expandableRow?: boolean | undefined;
    rowSelectable?: boolean | undefined;
    stripe?: boolean | undefined;
    rowUnselect?: boolean | undefined;
    isServerData?: boolean | undefined;
    withPagination?: boolean | undefined;
    lazyLoadingData?: boolean | undefined;
    showActionsColumn?: boolean | undefined;
    externalPaginate?: PaginationProp;
    sortingOrderDefault?: SortingOrderDefaultType;
    filterDefault?: ColumnFilterState | undefined;
    tableClass?: string | undefined;
    emptyDataText?: string | undefined;
    perPageText?: string | undefined;
    pagesLabel?: string | undefined;
    rowClassName?: string | ((arg: {
        row: Option;
        index: number;
    }) => string | undefined) | undefined;
    actionsColumn?: ActionsColumnType | undefined;
    perPageOptions?: number[] | undefined;
    fixedHeader?: boolean | undefined;
    fixedActions?: boolean | undefined;
    useTeleportedPopovers?: boolean | undefined;
    filterOptions?: Record<string, (string | number)[]> | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, __VLS_ctx?: {
    attrs: any;
    slots: Partial<Record<string, (_: {
        column: ColumnTypeItem<import('../../types').ObjectAnyType>;
    }) => any>> & Partial<Record<`${string}-title`, (_: {
        column: ColumnTypeItem<import('../../types').ObjectAnyType>;
        title: string;
    }) => any>> & Partial<Record<`${string}-filter-option`, (_: {
        option: {
            value: string | number;
            label: string;
        };
        column: ColumnTypeItem<import('../../types').ObjectAnyType>;
    }) => any>> & Partial<Record<`${string}-extra`, (_: {
        column: ColumnTypeItem<import('../../types').ObjectAnyType>;
    }) => any>> & Partial<Record<string, (_: {
        row: Option & {
            selected?: boolean | undefined;
        };
        index: number;
    }) => any>> & {
        header?(_: {}): any;
        "header-filter"?(_: {}): any;
        "header-actions"?(_: {}): any;
        "checked-tooltip"?(_: {}): any;
        "actions-column-header"?(_: {}): any;
        "prepend-row"?(_: {
            columns: ColumnType;
        }): any;
        "actions-column"?(_: {
            row: Option & {
                selected?: boolean | undefined;
            };
            index: number;
        }): any;
        "expanded-content"?(_: {
            row: Option & {
                selected?: boolean | undefined;
            };
        }): any;
        "empty-data"?(_: {}): any;
        "table-footer"?(_: {}): any;
    };
    emit: {
        (e: 'on-row-click', option: Option, index: number): void;
        (e: 'on-row-dbclick', option: Option, index: number): void;
        (e: 'handle-selection-change', data: Option[]): void;
        (e: 'handle-sort', data: {
            sortBy: string;
            order: string;
        }): void;
        (e: 'handle-filter', data: {
            columnKey: string;
            values: Array<unknown>;
            allFilters: ColumnFilterState;
        }): void;
        (e: 'update:externalPaginate'): void;
        (e: 'update:currentPage', pl: Pagination): void;
        (e: 'load-more', pl: boolean): void;
        (e: 'change-select-all', pl: boolean): void;
        (e: 'click-per-page-option', val: number): void;
        (e: 'update:perPage', pl: Pagination): void;
    };
} | undefined, __VLS_expose?: ((exposed: {
    setBulkOptionChecked: (optionArray: Option[], actionValue: boolean) => void;
}) => void) | undefined, __VLS_setup?: Promise<{
    props: {
        height?: string | number | undefined;
        options?: Option[] | undefined;
        loading?: boolean | undefined;
        config?: ConfigType | undefined;
        wrapperClass?: string | undefined;
        compact?: boolean | undefined;
        loaderType?: "default" | "stretch" | "circles" | "load-icon" | "lds-spinner" | "dot-spinner" | undefined;
        readonly "onOn-row-click"?: ((option: Option, index: number) => any) | undefined;
        readonly "onOn-row-dbclick"?: ((option: Option, index: number) => any) | undefined;
        readonly "onHandle-selection-change"?: ((data: Option[]) => any) | undefined;
        readonly "onHandle-sort"?: ((data: {
            sortBy: string;
            order: string;
        }) => any) | undefined;
        readonly "onHandle-filter"?: ((data: {
            columnKey: string;
            values: Array<unknown>;
            allFilters: ColumnFilterState;
        }) => any) | undefined;
        readonly "onUpdate:externalPaginate"?: (() => any) | undefined;
        readonly "onUpdate:currentPage"?: ((pl: Pagination) => any) | undefined;
        readonly "onLoad-more"?: ((pl: boolean) => any) | undefined;
        readonly "onChange-select-all"?: ((pl: boolean) => any) | undefined;
        readonly "onClick-per-page-option"?: ((val: number) => any) | undefined;
        readonly "onUpdate:perPage"?: ((pl: Pagination) => any) | undefined;
        columns?: ColumnType | undefined;
        showSelection?: boolean | undefined;
        expandableRow?: boolean | undefined;
        rowSelectable?: boolean | undefined;
        stripe?: boolean | undefined;
        rowUnselect?: boolean | undefined;
        isServerData?: boolean | undefined;
        withPagination?: boolean | undefined;
        lazyLoadingData?: boolean | undefined;
        showActionsColumn?: boolean | undefined;
        externalPaginate?: PaginationProp;
        sortingOrderDefault?: SortingOrderDefaultType;
        filterDefault?: ColumnFilterState | undefined;
        tableClass?: string | undefined;
        emptyDataText?: string | undefined;
        perPageText?: string | undefined;
        pagesLabel?: string | undefined;
        rowClassName?: string | ((arg: {
            row: Option;
            index: number;
        }) => string | undefined) | undefined;
        actionsColumn?: ActionsColumnType | undefined;
        perPageOptions?: number[] | undefined;
        fixedHeader?: boolean | undefined;
        fixedActions?: boolean | undefined;
        useTeleportedPopovers?: boolean | undefined;
        filterOptions?: Record<string, (string | number)[]> | undefined;
    } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
    expose(exposed: {
        setBulkOptionChecked: (optionArray: Option[], actionValue: boolean) => void;
    }): void;
    attrs: any;
    slots: Partial<Record<string, (_: {
        column: ColumnTypeItem<import('../../types').ObjectAnyType>;
    }) => any>> & Partial<Record<`${string}-title`, (_: {
        column: ColumnTypeItem<import('../../types').ObjectAnyType>;
        title: string;
    }) => any>> & Partial<Record<`${string}-filter-option`, (_: {
        option: {
            value: string | number;
            label: string;
        };
        column: ColumnTypeItem<import('../../types').ObjectAnyType>;
    }) => any>> & Partial<Record<`${string}-extra`, (_: {
        column: ColumnTypeItem<import('../../types').ObjectAnyType>;
    }) => any>> & Partial<Record<string, (_: {
        row: Option & {
            selected?: boolean | undefined;
        };
        index: number;
    }) => any>> & {
        header?(_: {}): any;
        "header-filter"?(_: {}): any;
        "header-actions"?(_: {}): any;
        "checked-tooltip"?(_: {}): any;
        "actions-column-header"?(_: {}): any;
        "prepend-row"?(_: {
            columns: ColumnType;
        }): any;
        "actions-column"?(_: {
            row: Option & {
                selected?: boolean | undefined;
            };
            index: number;
        }): any;
        "expanded-content"?(_: {
            row: Option & {
                selected?: boolean | undefined;
            };
        }): any;
        "empty-data"?(_: {}): any;
        "table-footer"?(_: {}): any;
    };
    emit: {
        (e: 'on-row-click', option: Option, index: number): void;
        (e: 'on-row-dbclick', option: Option, index: number): void;
        (e: 'handle-selection-change', data: Option[]): void;
        (e: 'handle-sort', data: {
            sortBy: string;
            order: string;
        }): void;
        (e: 'handle-filter', data: {
            columnKey: string;
            values: Array<unknown>;
            allFilters: ColumnFilterState;
        }): void;
        (e: 'update:externalPaginate'): void;
        (e: 'update:currentPage', pl: Pagination): void;
        (e: 'load-more', pl: boolean): void;
        (e: 'change-select-all', pl: boolean): void;
        (e: 'click-per-page-option', val: number): void;
        (e: 'update:perPage', pl: Pagination): void;
    };
}>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: {
        props: {
            height?: string | number | undefined;
            options?: Option[] | undefined;
            loading?: boolean | undefined;
            config?: ConfigType | undefined;
            wrapperClass?: string | undefined;
            compact?: boolean | undefined;
            loaderType?: "default" | "stretch" | "circles" | "load-icon" | "lds-spinner" | "dot-spinner" | undefined;
            readonly "onOn-row-click"?: ((option: Option, index: number) => any) | undefined;
            readonly "onOn-row-dbclick"?: ((option: Option, index: number) => any) | undefined;
            readonly "onHandle-selection-change"?: ((data: Option[]) => any) | undefined;
            readonly "onHandle-sort"?: ((data: {
                sortBy: string;
                order: string;
            }) => any) | undefined;
            readonly "onHandle-filter"?: ((data: {
                columnKey: string;
                values: Array<unknown>;
                allFilters: ColumnFilterState;
            }) => any) | undefined;
            readonly "onUpdate:externalPaginate"?: (() => any) | undefined;
            readonly "onUpdate:currentPage"?: ((pl: Pagination) => any) | undefined;
            readonly "onLoad-more"?: ((pl: boolean) => any) | undefined;
            readonly "onChange-select-all"?: ((pl: boolean) => any) | undefined;
            readonly "onClick-per-page-option"?: ((val: number) => any) | undefined;
            readonly "onUpdate:perPage"?: ((pl: Pagination) => any) | undefined;
            columns?: ColumnType | undefined;
            showSelection?: boolean | undefined;
            expandableRow?: boolean | undefined;
            rowSelectable?: boolean | undefined;
            stripe?: boolean | undefined;
            rowUnselect?: boolean | undefined;
            isServerData?: boolean | undefined;
            withPagination?: boolean | undefined;
            lazyLoadingData?: boolean | undefined;
            showActionsColumn?: boolean | undefined;
            externalPaginate?: PaginationProp;
            sortingOrderDefault?: SortingOrderDefaultType;
            filterDefault?: ColumnFilterState | undefined;
            tableClass?: string | undefined;
            emptyDataText?: string | undefined;
            perPageText?: string | undefined;
            pagesLabel?: string | undefined;
            rowClassName?: string | ((arg: {
                row: Option;
                index: number;
            }) => string | undefined) | undefined;
            actionsColumn?: ActionsColumnType | undefined;
            perPageOptions?: number[] | undefined;
            fixedHeader?: boolean | undefined;
            fixedActions?: boolean | undefined;
            useTeleportedPopovers?: boolean | undefined;
            filterOptions?: Record<string, (string | number)[]> | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
        expose(exposed: {
            setBulkOptionChecked: (optionArray: Option[], actionValue: boolean) => void;
        }): void;
        attrs: any;
        slots: Partial<Record<string, (_: {
            column: ColumnTypeItem<import('../../types').ObjectAnyType>;
        }) => any>> & Partial<Record<`${string}-title`, (_: {
            column: ColumnTypeItem<import('../../types').ObjectAnyType>;
            title: string;
        }) => any>> & Partial<Record<`${string}-filter-option`, (_: {
            option: {
                value: string | number;
                label: string;
            };
            column: ColumnTypeItem<import('../../types').ObjectAnyType>;
        }) => any>> & Partial<Record<`${string}-extra`, (_: {
            column: ColumnTypeItem<import('../../types').ObjectAnyType>;
        }) => any>> & Partial<Record<string, (_: {
            row: Option & {
                selected?: boolean | undefined;
            };
            index: number;
        }) => any>> & {
            header?(_: {}): any;
            "header-filter"?(_: {}): any;
            "header-actions"?(_: {}): any;
            "checked-tooltip"?(_: {}): any;
            "actions-column-header"?(_: {}): any;
            "prepend-row"?(_: {
                columns: ColumnType;
            }): any;
            "actions-column"?(_: {
                row: Option & {
                    selected?: boolean | undefined;
                };
                index: number;
            }): any;
            "expanded-content"?(_: {
                row: Option & {
                    selected?: boolean | undefined;
                };
            }): any;
            "empty-data"?(_: {}): any;
            "table-footer"?(_: {}): any;
        };
        emit: {
            (e: 'on-row-click', option: Option, index: number): void;
            (e: 'on-row-dbclick', option: Option, index: number): void;
            (e: 'handle-selection-change', data: Option[]): void;
            (e: 'handle-sort', data: {
                sortBy: string;
                order: string;
            }): void;
            (e: 'handle-filter', data: {
                columnKey: string;
                values: Array<unknown>;
                allFilters: ColumnFilterState;
            }): void;
            (e: 'update:externalPaginate'): void;
            (e: 'update:currentPage', pl: Pagination): void;
            (e: 'load-more', pl: boolean): void;
            (e: 'change-select-all', pl: boolean): void;
            (e: 'click-per-page-option', val: number): void;
            (e: 'update:perPage', pl: Pagination): void;
        };
    } | undefined;
};
export default _default;
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
