import type { SdElectronConfig } from "../sd-config.types.js";
export declare class Electron {
    private readonly _pkgPath;
    private readonly _config;
    private readonly _npmConfig;
    private readonly _exclude;
    private static readonly _logger;
    private readonly _electronPath;
    private readonly _srcPath;
    private constructor();
    static create(pkgPath: string, config: SdElectronConfig, exclude?: string[]): Promise<Electron>;
    private static _validateConfig;
    private _exec;
    initialize(): Promise<void>;
    run(url: string): Promise<void>;
    build(outPath: string): Promise<void>;
    private _setupNpmConf;
    /**
     * run()과 _bundleMainProcess()가 공유하는 esbuild 옵션을 생성한다.
     * extraEnv가 주어지면 config.env에 병합한다 (run 모드의 ELECTRON_DEV_URL 등).
     */
    private _createBaseEsbuildOptions;
    private _bundleMainProcess;
    private _copyPublicAssets;
    private _copyWebAssets;
    private static _canCreateSymlink;
    private _runElectronBuilder;
    private _copyBuildOutput;
}
//# sourceMappingURL=electron.d.ts.map