import { AppContext } from '../AppContext'; import { SlackMessageKey, SlackInteractionResponse, SlackMessage } from '../../types/types'; import { ConfigCommand } from '../../types/configuration'; export declare abstract class SlackInteraction { readonly appContext: AppContext; readonly command: { name: string; args: string; }; commandMessageKey?: SlackMessageKey; readonly commandConfig: ConfigCommand; constructor(appContext: AppContext, command: { name: string; args: string; }); abstract process(): Promise; abstract get userId(): string; abstract get userName(): string; abstract get channelId(): string; abstract get clientPayload(): any; abstract get reactionOnReceived(): boolean; getCommandMessageKey(): Promise; sendMessage(options?: { text?: string; ephemeral?: boolean; }): Promise; onPostResponse(relay: boolean): Promise; triggerPostResponse({ relay }: { relay: boolean; }): void; relayCommand(): void; relayToGitHubSlashCommandDispatch(): Promise>; }