import type { AnyState, Dispatch, StateManager } from '@zubridge/types';
import type { Store } from 'redux';
import type { StoreApi } from 'zustand/vanilla';
import { ZustandOptions } from '../adapters/zustand.js';
import { ReduxOptions } from '../adapters/redux.js';
/**
 * Creates a dispatch function for the given store
 * This automatically gets or creates an appropriate state manager based on the store type
 */
export declare function createDispatch<S extends AnyState>(store: StoreApi<S> | Store<S>, options?: ZustandOptions<S> | ReduxOptions<S>): Dispatch<S>;
/**
 * Creates a dispatch function using a pre-created state manager
 * @internal This overload is intended for internal use by bridge creators
 */
export declare function createDispatch<S extends AnyState>(stateManager: StateManager<S>): Dispatch<S>;
