import type { ResourceIdentifier, GetReducerAction, GetReducerState, BaseMovexDefinitionResourcesMap, MovexDefinition, SanitizedMovexClient } from 'movex-core-util'; import { MovexClient as MovexClientUser } from 'movex-core-util'; import { MovexClient } from 'movex'; import { MovexContextProps } from './MovexContext'; export declare const useMovex: (movexConfig: MovexDefinition) => MovexContextProps; export declare const useMovexClient: (movexConfig?: MovexDefinition) => SanitizedMovexClient | undefined; export type MovexResourceFromConfig['resources'][TResourceType] = MovexDefinition['resources'][TResourceType]> = MovexClient.MovexResource, GetReducerAction, string>; export type MovexBoundResourceFromConfig, Reducer extends MovexDefinition['resources'][TResourceType] = MovexDefinition['resources'][TResourceType]> = MovexClient.MovexBoundResource, GetReducerAction>; export declare const useMovexResourceType: >(movexConfig: MovexDefinition, resourceType: TResourceType) => MovexResourceFromConfig | undefined; export declare const useMovexBoundResourceFromRid: >(movexDefinition: MovexDefinition, rid: ResourceIdentifier, handlers?: { onReady?: ((p: { boundResource: MovexClient.MovexBoundResource, GetReducerAction>; clientId: MovexClientUser['id']; }) => void) | undefined; } | undefined) => MovexBoundResourceFromConfig | undefined; export declare const createMovexResource: >(movex: MovexClient.MovexFromDefinition, res: { type: TResourceType; state: ReturnType; }) => import("ts-async-results").AsyncResultWrapper<{ rid: import("movex-core-util").ResourceIdentifierObj; state: ReturnType; subscribers: Record>; }, unknown>; export declare const useCreateMovexResourceOnDemand: >(movexConfig: MovexDefinition, resourceInit: { type: TResourceType; state: ReturnType; } | undefined, onCreated: (rid: ResourceIdentifier) => void) => void; export declare const useMovexBindOrCreateAndBindOnDemand: >(movexConfig: MovexDefinition, resourceInitOrRid: { type: TResourceType; state: ReturnType; } | ResourceIdentifier | undefined) => MovexClient.MovexBoundResource, GetReducerAction> | undefined;