import type { SessionAuthContext } from "#channel/types.js";
import type { GitHubApiOptions } from "#public/channels/github/api.js";
import type { GitHubChannelCredentials } from "#public/channels/github/auth.js";
import { type GitHubComment } from "#public/channels/github/inbound.js";
import type { GitHubChannelEvents, GitHubInboundContext, GitHubInboundResult, GitHubProgressConfig } from "#public/channels/github/githubChannel.js";
/**
 * Projects a GitHub webhook actor into an eve {@link SessionAuthContext}. Sets `principalId` to
 * `github:<sender.id>`, `principalType` to `"service"` for bot senders and `"user"` otherwise, and
 * copies conversation and repository metadata into `attributes`. Reuse it when composing a custom
 * `onComment` hook.
 */
export declare function defaultGitHubAuth(ctx: GitHubInboundContext): SessionAuthContext;
/** Options used by the built-in GitHub comment dispatch hook. */
export interface GitHubDefaultDispatchOptions {
    readonly botName?: string;
}
/** Default comment hook: dispatch only when the comment `@mention`s the bot. */
export declare function defaultOnComment(ctx: GitHubInboundContext, comment: GitHubComment, options: GitHubDefaultDispatchOptions): GitHubInboundResult;
/** Options used by built-in GitHub event handlers. */
export interface GitHubDefaultEventOptions {
    readonly api?: GitHubApiOptions;
    readonly credentials?: GitHubChannelCredentials;
    readonly progress?: GitHubProgressConfig;
}
/** Builds GitHub's built-in event handlers for acknowledgement and terminal output. */
export declare function createDefaultEvents(options?: GitHubDefaultEventOptions): GitHubChannelEvents;
