import { HttpAgent } from "@dfinity/agent";
import { Principal } from "@dfinity/principal";
import { BoxAllInfo, BoxInfo__1, BoxMetadata, DelBoxArgs, Result, Result_2, Result_5, TopUpArgs, UpgradeBoxArgs } from "./did/metabox_type";
export declare const mb_cid = "zbzr7-xyaaa-aaaan-qadeq-cai";
export declare class MetaBox {
    private readonly metaBoxCai;
    private readonly agent;
    private readonly MetaBoxActor;
    constructor(agent: HttpAgent);
    isNotFirstDataBox(): Promise<boolean>;
    get_accountID(): Promise<string>;
    createBoxFree(arg: BoxMetadata): Promise<Principal>;
    createBoxFee(arg: BoxMetadata, is_need_refresh: boolean): Promise<Principal>;
    getICP(): Promise<number>;
    getBoxes(principal: Principal): Promise<BoxAllInfo[]>;
    deleteBox(delBoxArgs: DelBoxArgs): Promise<Result_5>;
    transferDataboxOwner(canister_id: Principal, to: Principal): Promise<Result>;
    startBox(boxInfo: BoxInfo__1): Promise<void>;
    topUpBox(TopUpArgs: TopUpArgs): Promise<Result>;
    upgradeBox(UpgradeBoxArgs: UpgradeBoxArgs): Promise<Result>;
    getDataBoxVersion(): Promise<bigint>;
    updateBoxInfo(BoxInfo__1: BoxInfo__1): Promise<Result>;
    createDataBoxControl(arg: BoxMetadata, is_need_refresh: boolean, controller?: Principal): Promise<Principal>;
    withDrawICP(to: string, amount: number): Promise<Result_2>;
}
