import { ActorMethod, ActorSubclass, HttpAgent } from "@dfinity/agent";
import { createByIcpArg, createByXTCArg, CreateRes, icsp } from "../types";
import { Result_1, TopUpArgs } from "./did/isp/isp_type";
import { Result } from "./did/wicp/wicp_type";
import { Principal } from "@dfinity/principal";
import { BurnResult } from "./did/xtc/xtc_type";
export declare class ISP {
    private readonly canisterId;
    private readonly agent;
    private readonly ISPActor;
    constructor(agent: HttpAgent);
    getXTCActor(): Promise<ActorSubclass<Record<string, ActorMethod<unknown[], unknown>>>>;
    getWICPActor(): Promise<ActorSubclass<Record<string, ActorMethod<unknown[], unknown>>>>;
    getLedgerActor(): Promise<ActorSubclass<Record<string, ActorMethod<unknown[], unknown>>>>;
    get_user_icsps(): Promise<icsp[]>;
    get_sub_account(): Promise<string>;
    get_icp_balance(): Promise<bigint>;
    transfer_out_icp(accountAdress: string, amount: {
        e8s: bigint;
    }): Promise<bigint>;
    create_icsp_topup_by_xtc(createArgs: createByXTCArg): Promise<CreateRes>;
    create_icsp_topup_by_icp(createArgs: createByIcpArg): Promise<Result_1>;
    CreateIcsp(icspName: string, icp_to_create_amount: {
        e8s: bigint;
    }): Promise<Result_1>;
    top_up_icsp_with_xtc(canisterId: Principal, amount: bigint): Promise<BurnResult>;
    top_up_icsp(topUpArg: TopUpArgs): Promise<Result>;
    getVersion(): Promise<string>;
}
