import { type App } from "../core/app.js";
import { type OTP } from "../core/otp_model.js";
import { type Record } from "../core/record_model.js";
import { Command } from "../tools/cli/command.js";
export type SuperuserOtpResult = {
    otp: OTP;
    password: string;
};
export declare function superuserUpsert(app: App, email: string, password: string): Promise<Record>;
export declare function superuserCreate(app: App, email: string, password: string): Promise<Record>;
export declare function superuserUpdate(app: App, email: string, password: string): Promise<Record>;
export declare function superuserDelete(app: App, email: string): Promise<boolean>;
export declare function superuserOTP(app: App, email: string): Promise<SuperuserOtpResult>;
export declare const superuser: {
    upsert: typeof superuserUpsert;
    create: typeof superuserCreate;
    update: typeof superuserUpdate;
    delete: typeof superuserDelete;
    otp: typeof superuserOTP;
    ips: typeof superuserIPs;
};
export declare function NewSuperuserCommand(app: App): Command;
export declare function superuserIPs(app: App, ips: string[]): Promise<string[]>;
