/// <reference types="react" />
import { Routes_Input, WidgetType, ItemsType } from '../types';
import { FormActionTypes, ObjectType, LanguageType } from '../types/common';
interface UseWidgetProps {
    canList?: boolean;
    defaultLimit: number;
    routes?: Routes_Input;
    preConfirmDelete?: (data: {
        row: ObjectType;
    }) => Promise<boolean>;
    imageBaseUrl?: string;
}
declare const useWidget: ({ canList, defaultLimit, routes, preConfirmDelete, imageBaseUrl, }: UseWidgetProps) => {
    list: ObjectType[];
    getWidgets: (search?: string) => Promise<void>;
    loading: boolean;
    languages: LanguageType[];
    setLoading: import("react").Dispatch<import("react").SetStateAction<boolean>>;
    searchText: string;
    pageSize: number;
    totalPages: number;
    currentPage: number;
    totalRecords: number;
    setCurrentPage: (page: number) => void;
    setPageSize: (value: number) => void;
    formState: FormActionTypes | undefined;
    itemData: ObjectType | null;
    onChangeFormState: (state: FormActionTypes, data?: ObjectType) => Promise<void>;
    onCloseForm: () => void;
    onWidgetFormSubmit: (data: ObjectType) => Promise<void>;
    onCofirmDeleteWidget: () => Promise<void>;
    onPartialUpdateWidget: (data: ObjectType, id: string) => Promise<void>;
    onImageUpload: (file: File) => Promise<{
        fileUrl: string;
        fileId: string;
        fileUri: string;
    } | void>;
    onImageRemove: (id: string) => Promise<void>;
    itemsTypes: ItemsType[];
    widgetTypes: WidgetType[];
    changeSearch: (value: string) => void;
    collectionDataLoading: boolean;
    getCollectionData: (collectionName: string, search?: string, callback?: ((data: any) => void) | undefined, collectionItems?: string[]) => Promise<void>;
    collectionData: any[];
};
export default useWidget;
