import type { BaseAccessor, AutoState, InfiniteAccessor, Accessor } from '../model/index.js'; import type { AccessorOptions, AutoAccessorOptions, UseAccessorReturn } from './types.js'; type GetSnapshot = (state: S, arg: Arg) => SS; /** * `useAccessor` hook provides a way to access and manage data fetched by an accessor. * @param accessor An accessor. * @param getSnapshot A function that accepts the state of the `accessor`'s model and returns the desired data. * @param options Additional options for controlling the behavior of the accessor. */ export declare function useAccessor(accessor: Accessor, getSnapshot: GetSnapshot, options?: AccessorOptions): UseAccessorReturn>; /** * `useAccessor` hook provides a way to access and manage data fetched by an accessor. * @param accessor An accessor or `null`. It is useful when you want conditional fetching. * @param getSnapshot A function that accepts the state of the `accessor`'s model and returns the desired data. * @param options Additional options for controlling the behavior of the accessor. */ export declare function useAccessor(accessor: Accessor | null, getSnapshot: GetSnapshot, options?: AccessorOptions): UseAccessorReturn | null>; /** * `useAccessor` hook provides a way to access and manage data fetched by an accessor. * @param accessor A infinite accessor. * @param getSnapshot A function that accepts the state of the `accessor`'s model and returns the desired data. * @param options Additional options for controlling the behavior of the accessor. */ export declare function useAccessor(accessor: InfiniteAccessor, getSnapshot: GetSnapshot, options?: AccessorOptions): UseAccessorReturn>; /** * `useAccessor` hook provides a way to access and manage data fetched by an accessor. * @param accessor A infinite accessor or `null`. It is useful when you want conditional fetching. * @param getSnapshot A function that accepts the state of the `accessor`'s model and returns the desired data. * @param options Additional options for controlling the behavior of the accessor. */ export declare function useAccessor(accessor: InfiniteAccessor | null, getSnapshot: GetSnapshot, options?: AccessorOptions): UseAccessorReturn | null>; export declare function useAccessor(accessor: Accessor, options?: AutoAccessorOptions): UseAccessorReturn>; export declare function useAccessor(accessor: Accessor | null, options?: AutoAccessorOptions): UseAccessorReturn | null>; export declare function useAccessor(accessor: InfiniteAccessor, options?: AutoAccessorOptions): UseAccessorReturn>; export declare function useAccessor(accessor: InfiniteAccessor | null, options?: AutoAccessorOptions): UseAccessorReturn | null>; export declare function normalizeArgs(accessor: BaseAccessor | null, maybeGetSnapshot?: GetSnapshot | AutoAccessorOptions, accessorOptions?: AccessorOptions): readonly [GetSnapshot, AccessorOptions]; export {};