import { Account } from "./account.js";
import { AptosConfig } from "./aptosConfig.js";
import { Coin } from "./coin.js";
import { DigitalAsset } from "./digitalAsset.js";
import { Faucet } from "./faucet.js";
import { FungibleAsset } from "./fungibleAsset.js";
import { General } from "./general.js";
import { ANS } from "./ans.js";
import { Staking } from "./staking.js";
import { Transaction } from "./transaction.js";
import { Table } from "./table.js";
import { Keyless } from "./keyless.js";
import { AptosObject } from "./object.js";
import { AccountAbstraction } from "./account/abstraction.js";
/**
 * The main entry point for interacting with the Aptos APIs,
 * providing access to various functionalities organized into
 * distinct namespaces.
 *
 * Note: Importing `Aptos` pulls in all sub-modules and is not tree-shakeable.
 * For smaller bundles, import namespace classes from sub-paths instead:
 *
 * ```typescript
 * import { General, AptosConfig } from "@aptos-labs/ts-sdk/general";
 * const general = new General(new AptosConfig({ network: Network.TESTNET }));
 * await general.getLedgerInfo();
 * ```
 *
 * Or for maximum tree-shaking, import individual functions:
 *
 * ```typescript
 * import { getLedgerInfo } from "@aptos-labs/ts-sdk/general";
 * await getLedgerInfo({ aptosConfig: config });
 * ```
 *
 * @example
 * ```typescript
 * import { Aptos, AptosConfig, Network } from "@aptos-labs/ts-sdk";
 *
 * const config = new AptosConfig({ network: Network.TESTNET });
 * const aptos = new Aptos(config);
 * const ledgerInfo = await aptos.getLedgerInfo();
 * ```
 * @group Client
 */
export declare class Aptos {
    #private;
    readonly config: AptosConfig;
    /**
     * Initializes a new instance of the Aptos client with the provided configuration settings.
     *
     * @param config - Configuration settings for the Aptos client.
     * @group Client
     */
    constructor(config?: AptosConfig);
    get account(): Account;
    get abstraction(): AccountAbstraction;
    get ans(): ANS;
    get coin(): Coin;
    get digitalAsset(): DigitalAsset;
    get faucet(): Faucet;
    get fungibleAsset(): FungibleAsset;
    get general(): General;
    get staking(): Staking;
    get transaction(): Transaction;
    get table(): Table;
    get keyless(): Keyless;
    get object(): AptosObject;
    setIgnoreTransactionSubmitter(ignore: boolean): void;
}
export interface Aptos extends Account, ANS, Coin, DigitalAsset, Faucet, FungibleAsset, General, Keyless, Staking, Table, AptosObject, Omit<Transaction, "build" | "simulate" | "submit" | "batch"> {
}
//# sourceMappingURL=aptos.d.ts.map