/**
 * ./src/krill/prepare.tsx
 * penguins-eggs v.10.0.0 / ecmascript 2020
 * author: Piero Proietti
 * email: piero.proietti@gmail.com
 * license: MIT
 * https://stackoverflow.com/questions/23876782/how-do-i-split-a-typescript-class-into-multiple-files
 */
import { IKrillConfig } from '../interfaces/i-krill-config.js';
import Keyboards from '../classes/keyboards.js';
import Locales from '../classes/locales.js';
import { INet } from '../interfaces/index.js';
import { IWelcome, ILocation, IKeyboard, IPartitions, IUsers } from '../interfaces/i-krill.js';
/**
 *
 */
export default class Krill {
    krillConfig: IKrillConfig;
    locales: Locales;
    keyboards: Keyboards;
    unattended: boolean;
    nointeractive: boolean;
    chroot: boolean;
    halt: boolean;
    /**
     * constructor
     * @param unattended
     * @param nointeractive
     * @param halt
     */
    constructor(unattended?: boolean, nointeractive?: boolean, halt?: boolean, chroot?: boolean);
    /**
     *
     * @param krillConfig
     * @param ip
     * @param random
     * @param domain
     * @param suspend
     * @param small
     * @param none
     * @param cryped
     * @param pve
     * @param verbose
     */
    prepare(krillConfig?: IKrillConfig, ip?: boolean, random?: boolean, domain?: string, suspend?: boolean, small?: boolean, none?: boolean, cryped?: boolean, pve?: boolean, btrfs?: boolean, verbose?: boolean): Promise<void>;
    /**
     * WELCOME
     */
    welcome(): Promise<IWelcome>;
    /**
     * LOCATION
     */
    location(language: string): Promise<ILocation>;
    /**
    * KEYBOARD
    */
    keyboard(): Promise<IKeyboard>;
    /**
    * PARTITIONS
    */
    partitions(installationDevice?: string, crypted?: boolean, pve?: boolean, btrfs?: boolean): Promise<IPartitions>;
    /**
     * USERS
     */
    users(): Promise<IUsers>;
    /**
     * Network
     */
    network(): Promise<INet>;
    /**
     * SUMMARY
     */
    summary(location: ILocation, keyboard: IKeyboard, partitions: IPartitions, users: IUsers): Promise<void>;
    /**
     * return true if pv exist
     */
    private pvExist;
}
