import { Filter, SavedFilter, SelectMode, ServerTableRequestParams, Sort, TableHeader, TableMode } from '../../models';
interface UiTableProps {
    disableSearch?: boolean;
    headers: TableHeader[];
    filters?: Filter[];
    url?: string;
    mode?: TableMode | string;
    persistent?: boolean;
    pagination?: number[];
    size?: number;
    initialPage?: number;
    debounceTime?: number;
    request?: (params: ServerTableRequestParams, abortController: AbortController, url?: string) => Promise<{
        data: unknown[];
        total: number;
    }>;
    defaultFiltersOpened?: boolean;
    savedFilters?: SavedFilter[];
    canSaveFilters?: boolean;
    defaultSort?: Sort;
    selectedItems?: unknown[];
    selectable?: boolean;
    selectableDisabled?: boolean;
    maxSelectedSize?: number;
    selectMode?: SelectMode;
}
type __VLS_Props = UiTableProps;
declare function fetchData(): Promise<void>;
declare const __VLS_defaults: {
    selectedItems: unknown[];
};
type __VLS_PublicProps = {
    'selectedItems'?: typeof __VLS_defaults['selectedItems'];
} & __VLS_Props;
declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__VLS_PublicProps, {
    refresh: typeof fetchData;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    "update:selectedItems": (value: unknown[]) => any;
    saveFilter: (value: SavedFilter) => any;
    filterInput: (args_0: {
        filterKey: string;
        value: any;
        e: InputEvent;
    }) => any;
    filterChange: (args_0: {
        filterKey: string;
        value: any;
    }) => any;
    deleteSavedFilter: (value: SavedFilter) => any;
    "update:selectMode": (selectMode: SelectMode) => any;
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
    "onUpdate:selectedItems"?: ((value: unknown[]) => any) | undefined;
    onSaveFilter?: ((value: SavedFilter) => any) | undefined;
    onFilterInput?: ((args_0: {
        filterKey: string;
        value: any;
        e: InputEvent;
    }) => any) | undefined;
    onFilterChange?: ((args_0: {
        filterKey: string;
        value: any;
    }) => any) | undefined;
    onDeleteSavedFilter?: ((value: SavedFilter) => any) | undefined;
    "onUpdate:selectMode"?: ((selectMode: SelectMode) => any) | undefined;
}>, {
    mode: string;
    size: number;
    request: (params: ServerTableRequestParams, abortController: AbortController, url?: string | undefined) => Promise<{
        data: unknown[];
        total: number;
    }>;
    filters: Filter[];
    selectedItems: unknown[];
    selectable: boolean;
    selectMode: SelectMode;
    selectableDisabled: boolean;
    maxSelectedSize: number;
    pagination: number[];
    canSaveFilters: boolean;
    persistent: boolean;
    initialPage: number;
    debounceTime: number;
    defaultFiltersOpened: boolean;
    savedFilters: SavedFilter[];
    defaultSort: Sort;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>, Readonly<Record<string, any>> & Record<string, any>>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
