import { Store } from "vuex"; import { VuexModule } from "./VuexModule"; export interface ModuleOptions { generateMutationSetters?: boolean; } export interface RegisterOptions { store: Store; name: string; } export interface IVuexModule extends Dictionary { __options: RegisterOptions; } export interface IModulePrototype { __mutations?: Dictionary<(payload?: any) => void>; __actions?: Dictionary<(payload?: any) => Promise>; } export declare type ModulePrototype = IModulePrototype & Function; declare type Dictionary = { [k: string]: T; }; interface ModuleDefinition { state: Dictionary; moduleRefs: Dictionary; getters: Dictionary<() => void>; mutations: Dictionary<(payload?: any) => void>; actions: Dictionary<(payload?: any) => Promise>; localFunctions: Dictionary<(...args: any[]) => any>; } export declare class VuexClassModuleFactory { moduleOptions: ModuleOptions; instance: IVuexModule; registerOptions: RegisterOptions; definition: ModuleDefinition; constructor(classModule: ModulePrototype, instance: IVuexModule, moduleOptions: ModuleOptions); private init; registerVuexModule(): void; buildAccessor(): any; private buildThisProxy; private getMutationSetterName; } export {};