import { Action } from 'redux'; import { IShareServer, IShareUser, TShareSettings } from '../reducers/share'; import { SHARE } from './actionsTypes'; interface IShareSelectServer extends Action { server: IShareServer; } interface IShareSetSettings extends Action { settings: TShareSettings; } interface IShareSetUser extends Action { user: IShareUser; } export type TActionsShare = IShareSelectServer & IShareSetSettings & IShareSetUser; export function shareSelectServer(server: IShareServer): IShareSelectServer { return { type: SHARE.SELECT_SERVER, server }; } export function shareSetSettings(settings: TShareSettings): IShareSetSettings { return { type: SHARE.SET_SETTINGS, settings }; } export function shareSetUser(user: IShareUser): IShareSetUser { return { type: SHARE.SET_USER, user }; }