import { BaseCommand } from './base.js';
import { type AccountManager } from '../core/account-manager.js';
import { PrivateKey } from '@hiero-ledger/sdk';
import { type ArgvStruct } from '../types/aliases.js';
import { NamespaceName } from '../types/namespace/namespace-name.js';
import { CommandFlags } from '../types/flag-types.js';
export declare class AccountCommand extends BaseCommand {
    private readonly accountManager;
    private readonly systemAccounts;
    private static ACCOUNT_KEY_USER_MESSAGE;
    private accountInfo;
    constructor(accountManager: AccountManager, systemAccounts: number[][]);
    static INIT_FLAGS_LIST: CommandFlags;
    static RESET_FLAGS_LIST: CommandFlags;
    static CREATE_FLAGS_LIST: CommandFlags;
    static UPDATE_FLAGS_LIST: CommandFlags;
    static GET_FLAGS_LIST: CommandFlags;
    static PREDEFINED_FLAGS_LIST: CommandFlags;
    private closeConnections;
    private buildAccountInfo;
    createNewAccount(context_: {
        config: {
            generateEcdsaKey: boolean;
            ecdsaPrivateKey?: string;
            ed25519PrivateKey?: string;
            namespace: NamespaceName;
            setAlias: boolean;
            amount: number;
            contextName: string;
        };
        privateKey: PrivateKey;
    }): Promise<{
        accountId: string;
        privateKey: string;
        publicKey: string;
        balance: number;
        accountAlias?: string;
    }>;
    private getAccountInfo;
    private updateAccountInfo;
    private transferAmountFromOperator;
    init(argv: ArgvStruct): Promise<boolean>;
    resetSystem(argv: ArgvStruct): Promise<boolean>;
    create(argv: ArgvStruct): Promise<boolean>;
    update(argv: ArgvStruct): Promise<boolean>;
    createPredefined(argv: ArgvStruct): Promise<boolean>;
    private showPredefinedAccounts;
    get(argv: ArgvStruct): Promise<boolean>;
    close(): Promise<void>;
}
