import { ErrorResponse } from "../../../utils"; import { State } from "./state"; import { COMMANDS } from "../../../shared"; import { Action as TAction, StoreDispatchProps } from "../../../Store"; import { Dispatch } from "redux"; import { Omit } from "../../../utils"; export declare namespace Actions { const REQUEST_GET = "io/request/linq8acm/inputs/get"; const REQUEST_POST = "io/request/linq8acm/inputs/post"; const RESPONSE_GET = "io/response/linq8acm/inputs/get"; const RESPONSE_POST = "io/response/linq8acm/inputs/post"; const RESPONSE_POST_END = "io/response/linq8acm/inputs/post/end"; const EDIT = "io/edit/linq8acm/inputs"; const EDIT_COMMANDS = "io/edit/commands/linq8acm/inputs"; const POLL_START = "io/poll/linq8acm/inputs/start"; const POLL_STOP = "io/poll/linq8acm/inputs/stop"; type Requests = GetRequest | PostRequest; interface GetRequest extends TAction { } interface PostRequest extends TAction { data: Partial; post?: State.ServerRequest; } interface GetResponse extends TAction { data: State.ServerResponse; } interface PostResponse extends TAction { data: ErrorResponse; } interface PostResponseEnd extends TAction { } interface Edit extends TAction { data: Omit, "cmds">; idx: number; } interface EditCommands extends TAction { idx: number; output: number; url: string; cmd: COMMANDS; } interface PollStart extends TAction { } interface PollStop extends TAction { } interface DispatchProps extends StoreDispatchProps { } const getRequest: (payload?: Pick | undefined) => GetRequest; const getResponse: (payload?: Pick | undefined) => GetResponse; const postRequest: (payload?: Pick | undefined) => PostRequest; const postResponse: (payload?: Pick | undefined) => PostResponse; const postResponseEnd: (payload?: Pick | undefined) => PostResponseEnd; const pollStart: (payload?: Pick | undefined) => PollStart; const pollStop: (payload?: Pick | undefined) => PollStop; const edit: (payload?: Pick | undefined) => Edit; const editCommands: (payload?: Pick | undefined) => EditCommands; function fetchRequest(): GetRequest; function fetchRequest(data: Partial): PostRequest; const bindDispatchProps: (dispatch: Dispatch) => { edit: (idx: number, data: Partial) => Edit; editCommands: (idx: number, url: string, output: number, cmd: COMMANDS) => EditCommands; fetch: (data?: (State.Input | undefined)[] | undefined) => Requests; poll: (p: boolean) => PollStart | PollStop; }; }