import type { App } from "../core/app.js";
import type { Record as RecordModel } from "../core/record_model.js";
export type InstallerFunc = (app: App, systemSuperuser: RecordModel, baseURL: string) => Error | null;
export type InstallerFuncAsync = (app: App, systemSuperuser: RecordModel, baseURL: string) => Error | null | Promise<Error | null>;
export declare function DefaultInstallerFunc(app: App, systemSuperuser: RecordModel, baseURL: string): Error | null;
export declare function loadInstaller(app: App, baseURL: string, installerFunc: InstallerFunc | null): Error | null;
export declare function loadInstallerAsync(app: App, baseURL: string, installerFunc: InstallerFuncAsync | null): Promise<Error | null>;
export declare function needInstallerSuperuser(app: App): boolean;
export declare function findOrCreateInstallerSuperuser(app: App): RecordModel;
export declare function findOrCreateInstallerSuperuserAsync(app: App): Promise<RecordModel>;
