import { t as ActionContext } from "./context-Ewez0LPe.js"; //#region src/github.d.ts export type GitHubPermissionLevel = "read" | "write" | "admin"; export type GitHubPermissions = Record; export type GitHubTokenRequest = { owner: string; repo: string; permissions: GitHubPermissions; }; export type GitHubAppConfig = { appId: string | number; privateKey: string; apiBaseUrl?: string; userAgent?: string; fetch?: typeof fetch; now?: () => number; }; export type GitHubAuth = (ctx?: ActionContext) => Promise<{ token: string; }>; export type GitHubApp = { token(req: GitHubTokenRequest): Promise; auth(req: GitHubTokenRequest | ((ctx?: ActionContext) => GitHubTokenRequest | Promise)): GitHubAuth; invalidate(req?: GitHubTokenRequest): void; }; export type GitHubAppErrorCode = "invalid_key" | "invalid_request" | "not_installed" | "permission_denied" | "unauthorized" | "rate_limited" | "network" | "http"; export declare class GitHubAppError extends Error { readonly code: GitHubAppErrorCode; readonly status?: number; readonly retryAfter?: number; constructor(code: GitHubAppErrorCode, message: string, opts?: { status?: number; retryAfter?: number; cause?: unknown; }); } export declare function githubApp(config: GitHubAppConfig): GitHubApp; //#endregion