import fs from "node:fs";
import type { Logger } from "pino";
import type { Env, OctokitOptions, PackageJson } from "./types.js";
import { updateEnv } from "./helpers/update-env.js";
type SmeeClient = {
    createChannel: () => string | Promise<string | undefined>;
};
export declare class ManifestCreation {
    #private;
    constructor(options?: {
        updateEnv?: typeof updateEnv;
        env?: Env;
    });
    get pkg(): PackageJson;
    createWebhookChannel({ SmeeClient: SmeeClientParam, log, }?: {
        SmeeClient?: SmeeClient | undefined;
        log?: Pick<Logger, "warn"> | undefined;
    }): Promise<string | undefined>;
    getManifest(options: {
        pkg: PackageJson;
        baseUrl: string;
        readFileSync?: typeof fs.readFileSync;
    }): string;
    createAppFromCode(code: string, probotOptions?: OctokitOptions | undefined): Promise<any>;
    get createAppUrl(): string;
}
export {};
