import { Logger } from "@atomist/skill-logging/lib/logging"; import { GraphQLClient } from "./graphql"; import { HttpClient } from "./http"; import { CommandMessageClient, MessageClient } from "./message"; import { ParameterPromptOptions, ParametersPromptObject } from "./parameter_prompt"; import { CommandIncoming, EventIncoming } from "./payload"; import { ProjectLoader } from "./project"; import { CredentialProvider } from "./secrets"; import { StorageProvider } from "./storage"; export interface Configuration> { name: string; parameters: C; resourceProviders: Record; }>; url: string; } export interface Contextual { name: string; workspaceId: string; correlationId: string; executionId: string; credential: CredentialProvider; graphql: GraphQLClient; http: HttpClient; message: MessageClient; project: ProjectLoader; audit: Logger & { url: string; }; storage: StorageProvider; trigger: T; configuration: Array>; skill: { id: string; name: string; namespace: string; version: string; }; close: () => Promise; } export interface EventContext extends Contextual { data: E; } export interface CommandContext extends Contextual { parameters: { prompt(parameters: ParametersPromptObject, options?: ParameterPromptOptions): Promise; }; credential: CredentialProvider; graphql: GraphQLClient; http: HttpClient; message: CommandMessageClient; } export interface HandlerStatus { visibility?: "hidden"; code?: number; reason?: string; } export declare type CommandHandler = (context: CommandContext) => Promise; export declare type EventHandler = (context: EventContext) => Promise; //# sourceMappingURL=handler.d.ts.map