import { Store } from 'redux'; import Vue from 'vue'; import { VueClass } from 'vue-class-component/lib/declarations'; export declare type Selector = (state: any) => T; export interface ConnectAddOn { uxlReduxWatchedProperties: { [key: string]: PropertyWatch; }; reduxDefaultStore: Store; watchProperty: (name: PropertyKey, watch: PropertyWatch) => void; } export interface PropertyWatch { selector: Selector; store: Store; name: string; } export declare type MixinFunction = VueClass, T2 extends VueClass = VueClass> = (superClass: T2) => VueClass; export interface ReduxMixin extends VueClass { } export interface ReduxMixinConstructor extends VueClass { new (...args: any[]): ReduxMixin & VueClass; } export declare type ReduxMixinFunction = MixinFunction; export declare const connect: (store: Store) => ReduxMixinFunction;