import { Octokit as OctokitCore } from "@octokit/core"; import { OAuthApp } from "@octokit/oauth-app"; import { Webhooks } from "@octokit/webhooks"; import type { Options, ConstructorOptions, EachInstallationInterface, EachRepositoryInterface, GetInstallationOctokitInterface } from "./types"; type Constructor = new (...args: any[]) => T; type OctokitType = TOptions["Octokit"] extends typeof OctokitCore ? InstanceType : OctokitCore; type OctokitClassType = TOptions["Octokit"] extends typeof OctokitCore ? TOptions["Octokit"] : typeof OctokitCore; export declare class App { static VERSION: string; static defaults>>(this: S, defaults: Partial): { new (...args: any[]): { octokit: OctokitType; webhooks: Webhooks<{ octokit: OctokitType; }>; oauth: OAuthApp<{ clientType: "github-app"; Octokit: OctokitClassType; }>; getInstallationOctokit: GetInstallationOctokitInterface>; eachInstallation: EachInstallationInterface>; eachRepository: EachRepositoryInterface>; log: { [key: string]: unknown; debug: (message: string, additionalInfo?: object | undefined) => void; info: (message: string, additionalInfo?: object | undefined) => void; warn: (message: string, additionalInfo?: object | undefined) => void; error: (message: string, additionalInfo?: object | undefined) => void; }; }; } & S; octokit: OctokitType; webhooks: Webhooks<{ octokit: OctokitType; }>; oauth: OAuthApp<{ clientType: "github-app"; Octokit: OctokitClassType; }>; getInstallationOctokit: GetInstallationOctokitInterface>; eachInstallation: EachInstallationInterface>; eachRepository: EachRepositoryInterface>; log: { debug: (message: string, additionalInfo?: object) => void; info: (message: string, additionalInfo?: object) => void; warn: (message: string, additionalInfo?: object) => void; error: (message: string, additionalInfo?: object) => void; [key: string]: unknown; }; constructor(options: ConstructorOptions); } export { createNodeMiddleware } from "./middleware/node/index";