// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. import {AppCallRequest, AppCallResponse, AppContext} from '@mm-redux/types/apps'; import {Post} from '@mm-redux/types/posts'; export type DoAppCallResult = { data?: AppCallResponse; error?: AppCallResponse; } export interface PostEphemeralCallResponseForPost { (response: AppCallResponse, message: string, post: Post): void; } export interface PostEphemeralCallResponseForChannel { (response: AppCallResponse, message: string, channelID: string): void; } export interface PostEphemeralCallResponseForContext { (response: AppCallResponse, message: string, context: AppContext): void; } export interface HandleBindingClick { (binding: AppBinding, context: AppContext, intl: any): Promise>; } export interface DoAppSubmit { (call: AppCallRequest, intl: any): Promise>; } export interface DoAppFetchForm { (call: AppCallRequest, intl: any): Promise>; } export interface DoAppLookup { (call: AppCallRequest, intl: any): Promise>; }