import { ComponentPublicInstance } from 'vue'; import { Dispatch, Commit } from './index'; type Computed = () => any; type InlineComputed = T extends (...args: any[]) => infer R ? () => R : never type MutationMethod = (...args: any[]) => void; type ActionMethod = (...args: any[]) => Promise; type InlineMethod any> = T extends (fn: any, ...args: infer Args) => infer R ? (...args: Args) => R : never type CustomVue = ComponentPublicInstance & Record; interface Mapper { (map: Key[]): { [K in Key]: R }; >(map: Map): { [K in keyof Map]: R }; } interface MapperWithNamespace { (namespace: string, map: Key[]): { [K in Key]: R }; >(namespace: string, map: Map): { [K in keyof Map]: R }; } interface MapperForState { any> = {}>( map: Map ): { [K in keyof Map]: InlineComputed }; } interface MapperForStateWithNamespace { any> = {}>( namespace: string, map: Map ): { [K in keyof Map]: InlineComputed }; } interface MapperForAction { any>>( map: Map ): { [K in keyof Map]: InlineMethod }; } interface MapperForActionWithNamespace { any>>( namespace: string, map: Map ): { [K in keyof Map]: InlineMethod }; } interface MapperForMutation { any>>( map: Map ): { [K in keyof Map]: InlineMethod }; } interface MapperForMutationWithNamespace { any>>( namespace: string, map: Map ): { [K in keyof Map]: InlineMethod }; } interface NamespacedMappers { mapState: Mapper & MapperForState; mapMutations: Mapper & MapperForMutation; mapGetters: Mapper; mapActions: Mapper & MapperForAction; } export declare const mapState: Mapper & MapperWithNamespace & MapperForState & MapperForStateWithNamespace; export declare const mapMutations: Mapper & MapperWithNamespace & MapperForMutation & MapperForMutationWithNamespace; export declare const mapGetters: Mapper & MapperWithNamespace; export declare const mapActions: Mapper & MapperWithNamespace & MapperForAction & MapperForActionWithNamespace; export declare function createNamespacedHelpers(namespace: string): NamespacedMappers;