import { Octokit as OctokitCore } from "@octokit/core"; import { OAuthApp } from "@octokit/oauth-app"; import type { Webhooks } from "@octokit/webhooks"; import type { Options, ConstructorOptions, EachInstallationInterface, EachRepositoryInterface, GetInstallationOctokitInterface, GetInstallationUrlInterface } from "./types.js"; export type { EachInstallationInterface, EachRepositoryInterface, GetInstallationOctokitInterface, GetInstallationUrlInterface, } from "./types.js"; 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>; getInstallationUrl: GetInstallationUrlInterface; 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; }; }; } & S) & typeof this; octokit: OctokitType; webhooks: Webhooks<{ octokit: OctokitType; }>; oauth: OAuthApp<{ clientType: "github-app"; Octokit: OctokitClassType; }>; getInstallationOctokit: GetInstallationOctokitInterface>; eachInstallation: EachInstallationInterface>; eachRepository: EachRepositoryInterface>; getInstallationUrl: GetInstallationUrlInterface; 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.js";