import type { ThresholdSignatureScheme } from '@dynamic-labs-wallet/browser-wallet-client';
import type { Chain } from '../../chain';
import type { WalletCreationRequirement } from '../waas.types';
type CreateWaasWalletAccountsParams = {
    /**
     * For which chains to create wallet accounts.
     * Accepts either an array of chain strings (legacy format) or an array of
     * WalletCreationRequirement objects for chain-specific configuration.
     *
     * For Bitcoin, you can specify the address type ('native_segwit' or 'taproot').
     * If not specified, defaults to 'native_segwit'.
     *
     * If a chain is passed multiple times, just as many wallet accounts will be created
     * for that chain.
      * @notInstrumented
   */
    chains: Chain[] | WalletCreationRequirement[];
    /**
     * The optional password to use for the wallet accounts.
     * It's used to encrypt the user shares.
     * The same password must be used for all waas wallet accounts created for the same user.
     */
    password?: string;
    /**
     * The threshold signature scheme to use for the wallet accounts.
     * If not provided, TWO_OF_TWO will be used.
     */
    thresholdSignatureScheme?: ThresholdSignatureScheme;
};
/**
 * Creates wallet accounts for the specified chains.
 *
 * This function creates wallet accounts for the specified chains.
 * If the same chain is passed multiple times, just as many wallet accounts will be created
 * for that chain.
 *
 * @example
 * ```ts
 * // Legacy format - will create wallet accounts for EVM and SOL, BTC defaults to native_segwit
 * await createWaasWalletAccounts({ chains: ['EVM', 'SOL', 'BTC'] });
 *
 * // New format with chain-specific config
 * await createWaasWalletAccounts({
 *   chains: [
 *     { chain: 'BTC', bitcoinConfig: { addressType: 'taproot' } },
 *     { chain: 'EVM' },
 *   ]
 * });
 *
 * // Create both BTC address types
 * await createWaasWalletAccounts({
 *   chains: [
 *     { chain: 'BTC', bitcoinConfig: { addressType: 'native_segwit' } },
 *     { chain: 'BTC', bitcoinConfig: { addressType: 'taproot' } },
 *   ]
 * });
 * ```
 *
 * @param params.chains - The chains to create wallet accounts for.
 * @param params.password - The optional password to use for the wallet accounts.
 * @param params.thresholdSignatureScheme - The threshold signature scheme to use for the wallet accounts. (Default: TWO_OF_TWO)
 * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
 * @returns A promise that resolves when all wallet accounts are created.
  * @notInstrumented
 */
export declare const createWaasWalletAccounts: ({ chains, password, thresholdSignatureScheme, }: CreateWaasWalletAccountsParams, client?: import("../../../exports").DynamicClient) => Promise<void>;
export {};
//# sourceMappingURL=createWaasWalletAccounts.d.ts.map