import React from 'react'; import type { MovexClient } from 'movex'; import { GetReducerState, GetReducerAction, ResourceIdentifier, MovexClient as MovexClientUser, StringKeys, BaseMovexDefinitionResourcesMap, MovexDefinition } from 'movex-core-util'; type ReactMovexBoundResource> = MovexClient.MovexBoundResource, GetReducerAction>; type Props> = { movexDefinition: MovexDefinition; rid: ResourceIdentifier; onReady?: (p: { boundResource: ReactMovexBoundResource; clientId: MovexClientUser['id']; }) => void; onComponentWillUnmount?: (p: State) => void; onResourceStateUpdated?: (p: ReactMovexBoundResource['state']) => void; render: (p: { boundResource: ReactMovexBoundResource; clientId: MovexClientUser['id']; }) => React.ReactNode; fallback?: React.ReactNode; }; type State> = { init: false; } | { init: true; boundResource: ReactMovexBoundResource; clientId: MovexClientUser['id']; }; export declare class MovexBoundResourceComponent> extends React.Component, State> { private unsubscribers; constructor(props: Props); componentDidUpdate(prevProps: Readonly>, prevState: Readonly>): void; private init; componentWillUnmount(): void; render(): JSX.Element; } export {};