import { ProfileJson } from '../utils/types.js';
import { Context } from './context.js';
type ProfileBackup = {
    data: string;
    salt: string;
    iv: string;
    authTag: string;
};
export declare class Profile {
    static json: ProfileJson;
    context: Context;
    constructor(name?: string);
    isSetup(): boolean;
    static loadStaticSync(): ProfileJson;
    template(): void;
    valid(data?: ProfileJson): boolean | ProfileJson;
    exists(profile?: ProfileJson, method?: string): boolean | ProfileJson;
    load(): Promise<ProfileJson>;
    static staticSave(): Promise<void>;
    save(): Promise<void>;
    read(options: {
        text?: boolean;
    }): Promise<void>;
    add(options: any): Promise<void>;
    encrypt({ password }: {
        password: string;
    }): ProfileBackup;
    delete({ password, force }: {
        password: string;
        force?: boolean;
    }): Promise<void>;
    list(): Promise<void>;
    switch({ name }: {
        name?: string;
    }): Promise<void>;
    static recover({ password, file }: {
        password: string;
        file: string;
    }): Promise<void>;
    backup({ password }: {
        password: string;
    }): Promise<void>;
}
export {};
//# sourceMappingURL=profile.d.ts.map