import React from 'react'; import { ModelObject } from '@admin/helpers/misc'; declare const useButtonHover: (debounce?: number) => (boolean | { onMouseEnter: () => void; onMouseLeave: () => void; })[]; declare const useStorageState: (name: string, defaultValue: T) => [T, React.Dispatch]; interface BaseModel { id: number | string; } declare type ModelMiddleware = (models: T[]) => T[]; export declare type SetModelMiddleware = (middleware: ModelMiddleware[]) => void; declare type CompareFunction = (a: T, b: T) => number; declare const useModelState: (defaultValue?: T[], sorter?: CompareFunction) => { arrayState: T[]; objectState: ModelObject; setObjectState: (models: ModelObject) => void; setArrayState: (models: T[]) => void; create: (models: T[]) => void; delete: (ids: number[]) => void; update: (models: T[]) => void; middleware: ModelMiddleware[]; setMiddleware: React.Dispatch[]>>; removeSort: () => void; setSort: React.Dispatch>>; }; declare class ModelStateWrapper { useModelState: (defaultValue?: T[]) => { arrayState: T[]; objectState: ModelObject; setObjectState: (models: ModelObject) => void; setArrayState: (models: T[]) => void; create: (models: T[]) => void; delete: (ids: number[]) => void; update: (models: T[]) => void; middleware: ModelMiddleware[]; setMiddleware: React.Dispatch[]>>; removeSort: () => void; setSort: React.Dispatch>>; }; } declare type ModelState = ReturnType['useModelState']>; declare type RefChangeCallback = (current: T, previous?: T) => (() => void) | void; declare const useRefChange: (callback: RefChangeCallback, initial?: T) => import("@fluentui/react-hooks").RefCallback; declare const useAllowedPaths: () => any[]; export { useRefChange, useButtonHover, useStorageState, useModelState, useAllowedPaths, ModelState, };