import type { Subscription } from 'rxjs';
import * as MS from '../state';
import type { MutationName, StoreName } from '../state/stores';
export declare function useMutation<N extends StoreName, NM extends MutationName<N>, P extends Array<unknown>, S, SS extends S, D extends Record<K, unknown>, K extends never>(s: MS.Store<N, S>, mutationL: (deps: D) => MS.Mutation<NM, P, S, SS>, options: MS.BaseOptions & MS.DepsOptions<D>): (...payload: P) => Subscription;
export declare function useMutation<N extends StoreName, NM extends MutationName<N>, P extends Array<unknown>, S, SS extends S>(s: MS.Store<N, S>, mutationL: () => MS.Mutation<NM, P, S, SS>, options?: MS.BaseOptions): (...payload: P) => Subscription;
