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 { type NamespaceName } from '../types/namespace/namespace-name.js';
import { type CommandDefinition } from '../types/index.js';
export declare class AccountCommand extends BaseCommand {
    private readonly accountManager;
    private readonly systemAccounts;
    private accountInfo;
    constructor(accountManager: AccountManager, systemAccounts: number[][]);
    static readonly COMMAND_NAME = "account";
    private static INIT_FLAGS_LIST;
    private static CREATE_FLAGS_LIST;
    private static UPDATE_FLAGS_LIST;
    private static GET_FLAGS_LIST;
    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>;
    create(argv: ArgvStruct): Promise<boolean>;
    update(argv: ArgvStruct): Promise<boolean>;
    get(argv: ArgvStruct): Promise<boolean>;
    getCommandDefinition(): CommandDefinition;
    close(): Promise<void>;
}
