import { Initializer } from '../init/Initializer';
import type { AccountStore } from './interaction/account/util/AccountStore';
import type { PasswordStore } from './interaction/password/util/PasswordStore';
import type { PodCreator } from './interaction/pod/util/PodCreator';
export interface AccountInitializerArgs {
    /**
     * Creates the accounts.
     */
    accountStore: AccountStore;
    /**
     * Adds the login methods.
     */
    passwordStore: PasswordStore;
    /**
     * Creates the pods.
     */
    podCreator: PodCreator;
    /**
     * Email address for the account login.
     */
    email: string;
    /**
     * Password for the account login.
     */
    password: string;
    /**
     * Name to use for the pod. If undefined the pod will be made in the root of the server.
     */
    name?: string;
}
/**
 * Initializes an account with email/password login and a pod with the provided name.
 */
export declare class AccountInitializer extends Initializer {
    protected readonly logger: import("global-logger-factory").Logger<unknown>;
    private readonly accountStore;
    private readonly passwordStore;
    private readonly podCreator;
    private email;
    private password;
    private readonly name;
    constructor(args: AccountInitializerArgs);
    handle(): Promise<void>;
}
