import { IAction } from './models/table';
import { ROW_SELECTION } from './constants';

declare const _default: <T extends {
    id: number | string;
}>(__VLS_props: {
    search?: string;
    data: T[];
    readonly?: boolean;
    hideNoData?: boolean;
    freeze?: boolean;
    pageSize?: number;
    customQuery?: Record<string, unknown> | import('vue').Ref<Record<string, unknown>>;
    isLoading?: boolean;
    createActions?: IAction[] | boolean;
    onCreate?: (eventName?: string) => any;
    canRemove?: boolean;
    isRowClickable?: boolean;
    disableActions?: boolean;
    entityTypeClassName?: string;
    dynamicColumnsEndpoint?: string | ((query?: unknown) => Promise<import('../../start').IApiPayload<import('../../start').IColumnDefinitionContainer[]>>);
    defaultColumn?: Partial<import('./models/column').IColumnOption<Record<string, any>>>;
    columnsOrder?: string[];
    sortType?: import('./constants').SORT_TYPE;
    isMultiSortEvent?: import('./models/table').IIsMultiSortEvent;
    gridId?: string;
    channels?: boolean | import('../../services/api/DataHub/Scopes').ITenantAttributeScope[];
    languages?: boolean | import('../../services/api/DataHub/Languages').ITenantAttributeLanguage[];
    hideGlobalSearch?: boolean;
    hideFilters?: boolean;
    hideColumnCustomization?: boolean;
    rowIdName?: string;
    rowHeight?: string;
    minRowHeight?: string;
    hidePagination?: boolean;
    minRowCount?: number;
    tableActions?: IAction[];
    hideRemove?: boolean;
    rowSelection?: ROW_SELECTION;
    hideNoDataTitle?: boolean;
    hideNoDataDescription?: boolean;
    hideNoDataComment?: boolean;
    routable?: string | boolean;
    routableId?: string;
    detailsTarget?: string;
    "onUpdate:data"?: (cards: T[]) => any;
    "onUpdate:globalSearch"?: (value: string) => any;
    tableName?: string;
    hideSearch?: boolean;
    canReorderRows?: boolean;
    isError?: boolean;
    idKey?: string;
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, __VLS_ctx?: {
    slots: Readonly<{
        title?: () => void;
        actions?: () => void;
        modals?: () => void;
        list?: (props: {
            cards: T[];
        }) => void;
        item?: (props: {
            card: T;
            rowIndex: number;
        }) => void;
        "no-data-title"?: () => void;
        "no-data-description"?: () => void;
    }> & {
        title?: () => void;
        actions?: () => void;
        modals?: () => void;
        list?: (props: {
            cards: T[];
        }) => void;
        item?: (props: {
            card: T;
            rowIndex: number;
        }) => void;
        "no-data-title"?: () => void;
        "no-data-description"?: () => void;
    };
    attrs: any;
    emit: {
        (event: "update:data", cards: T[]): void;
        (event: "update:globalSearch", value: string): void;
        (event: "create", eventName?: string): void;
    };
}, __VLS_expose?: (exposed: import('vue').ShallowUnwrapRef<{}>) => void, __VLS_setup?: Promise<{
    props: {
        search?: string;
        data: T[];
        readonly?: boolean;
        hideNoData?: boolean;
        freeze?: boolean;
        pageSize?: number;
        customQuery?: Record<string, unknown> | import('vue').Ref<Record<string, unknown>>;
        isLoading?: boolean;
        createActions?: IAction[] | boolean;
        onCreate?: (eventName?: string) => any;
        canRemove?: boolean;
        isRowClickable?: boolean;
        disableActions?: boolean;
        entityTypeClassName?: string;
        dynamicColumnsEndpoint?: string | ((query?: unknown) => Promise<import('../../start').IApiPayload<import('../../start').IColumnDefinitionContainer[]>>);
        defaultColumn?: Partial<import('./models/column').IColumnOption<Record<string, any>>>;
        columnsOrder?: string[];
        sortType?: import('./constants').SORT_TYPE;
        isMultiSortEvent?: import('./models/table').IIsMultiSortEvent;
        gridId?: string;
        channels?: boolean | import('../../services/api/DataHub/Scopes').ITenantAttributeScope[];
        languages?: boolean | import('../../services/api/DataHub/Languages').ITenantAttributeLanguage[];
        hideGlobalSearch?: boolean;
        hideFilters?: boolean;
        hideColumnCustomization?: boolean;
        rowIdName?: string;
        rowHeight?: string;
        minRowHeight?: string;
        hidePagination?: boolean;
        minRowCount?: number;
        tableActions?: IAction[];
        hideRemove?: boolean;
        rowSelection?: ROW_SELECTION;
        hideNoDataTitle?: boolean;
        hideNoDataDescription?: boolean;
        hideNoDataComment?: boolean;
        routable?: string | boolean;
        routableId?: string;
        detailsTarget?: string;
        "onUpdate:data"?: (cards: T[]) => any;
        "onUpdate:globalSearch"?: (value: string) => any;
        tableName?: string;
        hideSearch?: boolean;
        canReorderRows?: boolean;
        isError?: boolean;
        idKey?: string;
    } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
    expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: Readonly<{
        title?: () => void;
        actions?: () => void;
        modals?: () => void;
        list?: (props: {
            cards: T[];
        }) => void;
        item?: (props: {
            card: T;
            rowIndex: number;
        }) => void;
        "no-data-title"?: () => void;
        "no-data-description"?: () => void;
    }> & {
        title?: () => void;
        actions?: () => void;
        modals?: () => void;
        list?: (props: {
            cards: T[];
        }) => void;
        item?: (props: {
            card: T;
            rowIndex: number;
        }) => void;
        "no-data-title"?: () => void;
        "no-data-description"?: () => void;
    };
    emit: {
        (event: "update:data", cards: T[]): void;
        (event: "update:globalSearch", value: string): void;
        (event: "create", eventName?: string): void;
    };
}>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: {
        props: {
            search?: string;
            data: T[];
            readonly?: boolean;
            hideNoData?: boolean;
            freeze?: boolean;
            pageSize?: number;
            customQuery?: Record<string, unknown> | import('vue').Ref<Record<string, unknown>>;
            isLoading?: boolean;
            createActions?: IAction[] | boolean;
            onCreate?: (eventName?: string) => any;
            canRemove?: boolean;
            isRowClickable?: boolean;
            disableActions?: boolean;
            entityTypeClassName?: string;
            dynamicColumnsEndpoint?: string | ((query?: unknown) => Promise<import('../../start').IApiPayload<import('../../start').IColumnDefinitionContainer[]>>);
            defaultColumn?: Partial<import('./models/column').IColumnOption<Record<string, any>>>;
            columnsOrder?: string[];
            sortType?: import('./constants').SORT_TYPE;
            isMultiSortEvent?: import('./models/table').IIsMultiSortEvent;
            gridId?: string;
            channels?: boolean | import('../../services/api/DataHub/Scopes').ITenantAttributeScope[];
            languages?: boolean | import('../../services/api/DataHub/Languages').ITenantAttributeLanguage[];
            hideGlobalSearch?: boolean;
            hideFilters?: boolean;
            hideColumnCustomization?: boolean;
            rowIdName?: string;
            rowHeight?: string;
            minRowHeight?: string;
            hidePagination?: boolean;
            minRowCount?: number;
            tableActions?: IAction[];
            hideRemove?: boolean;
            rowSelection?: ROW_SELECTION;
            hideNoDataTitle?: boolean;
            hideNoDataDescription?: boolean;
            hideNoDataComment?: boolean;
            routable?: string | boolean;
            routableId?: string;
            detailsTarget?: string;
            "onUpdate:data"?: (cards: T[]) => any;
            "onUpdate:globalSearch"?: (value: string) => any;
            tableName?: string;
            hideSearch?: boolean;
            canReorderRows?: boolean;
            isError?: boolean;
            idKey?: string;
        } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
        expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
        attrs: any;
        slots: Readonly<{
            title?: () => void;
            actions?: () => void;
            modals?: () => void;
            list?: (props: {
                cards: T[];
            }) => void;
            item?: (props: {
                card: T;
                rowIndex: number;
            }) => void;
            "no-data-title"?: () => void;
            "no-data-description"?: () => void;
        }> & {
            title?: () => void;
            actions?: () => void;
            modals?: () => void;
            list?: (props: {
                cards: T[];
            }) => void;
            item?: (props: {
                card: T;
                rowIndex: number;
            }) => void;
            "no-data-title"?: () => void;
            "no-data-description"?: () => void;
        };
        emit: {
            (event: "update:data", cards: T[]): void;
            (event: "update:globalSearch", value: string): void;
            (event: "create", eventName?: string): void;
        };
    };
};
export default _default;
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
