import type { Provider } from 'ethers'; import type { AuthOptions } from '../types/interfaces/auth.interface'; export declare class Auth { private readonly alchemy?; private readonly infura?; private readonly provider; /** * * The main class for the Auth library. * * @param {AuthOptions} opts - An object containing the authentication options for the Ethereum API providers. * @param {Object} opts.alchemy - An object containing the Alchemy API key (required if no Infura key is provided). * @param {string} opts.alchemy.apiKey - The Alchemy API key. * @param {Object} opts.infura - An object containing the Infura API key and secret (required if no Alchemy key is provided). * @param {string} opts.infura.apiKey - The Infura API key. * @param {string} opts.infura.apiKeySecret - The Infura API key secret. */ constructor(opts: AuthOptions); /** * * Retrieves the Ethereum provider. * * @function * @returns {Provider} - The Ethereum provider. **/ getProvider: () => Provider; /** * * Retrieves the API authentication data for the Ethereum API providers. * * @function * @returns {{ alchemy: string | undefined, infura: string | undefined }} - An object containing the API authentication data for the Ethereum API providers. **/ getApiAuth: () => { alchemy: string | undefined; infura: string | undefined; }; /** * Sets the Ethereum provider based on the API authentication data for the Ethereum API providers. * @function * @throws {Error} Throws an error if no API key is provided for the Ethereum API providers. * @returns {Provider} - The Ethereum provider based on the API authentication data. **/ private setProvider; } //# sourceMappingURL=Auth.d.ts.map