import { ComponentType } from 'react';
import { Observable } from 'rxjs';
import { IStorage } from '../../core';
import { type SynapseModule } from '../../utils';
interface SimplifiedOptions {
    /** Запасной рендер, если стор не удалось построить синхронно (в норме C-форма всегда готова к первому кадру). */
    loadingComponent?: React.ReactNode;
}
export declare function createSynapseCtx<TState extends Record<string, any>, TDispatcher, TSelectors>(synapseModule: SynapseModule<TState, TDispatcher, TSelectors>, options?: SimplifiedOptions): {
    contextSynapse: <SelfComponentProps>(Component: ComponentType<SelfComponentProps>) => ComponentType<SelfComponentProps & {
        dehydratedState?: TState;
    }>;
    dehydrate: (opts?: {
        initialState?: Partial<TState>;
    }) => Promise<TState>;
    useSynapseStorage: () => IStorage<TState>;
    useSynapseSelectors: () => TSelectors;
    useSynapseActions: () => TDispatcher;
    useSynapseState$: () => Observable<TState>;
    cleanupSynapse: () => Promise<void>;
};
export {};
