import { type GitHubIssueCommentEvent, type GitHubIssueWebhookEvent, type GitHubPullRequestReviewCommentEvent, type GitHubPullRequestWebhookEvent } from "#public/channels/github/inbound.js";
import { type GitHubChannelState } from "#public/channels/github/state.js";
import type { GitHubChannelConfig } from "#public/channels/github/githubChannel.js";
import type { SendFn } from "#public/definitions/defineChannel.js";
/** Dispatches a bot-directed issue or PR timeline comment into the runtime. */
export declare function dispatchIssueComment(input: {
    readonly botName: string | undefined;
    readonly config: GitHubChannelConfig;
    readonly event: GitHubIssueCommentEvent;
    readonly handler: NonNullable<GitHubChannelConfig["onComment"]>;
    readonly send: SendFn<GitHubChannelState>;
}): Promise<void>;
/** Dispatches a bot-directed inline pull-request review comment. */
export declare function dispatchPullRequestReviewComment(input: {
    readonly botName: string | undefined;
    readonly config: GitHubChannelConfig;
    readonly event: GitHubPullRequestReviewCommentEvent;
    readonly handler: NonNullable<GitHubChannelConfig["onComment"]>;
    readonly send: SendFn<GitHubChannelState>;
}): Promise<void>;
/** Dispatches an opt-in issue webhook event into the runtime. */
export declare function dispatchIssue(input: {
    readonly config: GitHubChannelConfig;
    readonly event: GitHubIssueWebhookEvent;
    readonly handler: NonNullable<GitHubChannelConfig["onIssue"]>;
    readonly send: SendFn<GitHubChannelState>;
}): Promise<void>;
/** Dispatches an opt-in pull-request webhook event into the runtime. */
export declare function dispatchPullRequest(input: {
    readonly config: GitHubChannelConfig;
    readonly event: GitHubPullRequestWebhookEvent;
    readonly handler: NonNullable<GitHubChannelConfig["onPullRequest"]>;
    readonly send: SendFn<GitHubChannelState>;
}): Promise<void>;
