import { Wallet } from 'ethers'; import { providers } from 'ethers/lib/ethers'; import * as t from 'io-ts'; import { OidcClient } from 'oidc-client-ts'; import { AspenClient } from '../aspen'; export declare const NetworkSecrets: t.PartialC<{ Mumbai: t.StringC; Mainnet: t.StringC; Goerli: t.StringC; Polygon: t.StringC; }>; export type NetworkSecrets = t.TypeOf; export declare const APIKeys: t.RecordC, t.StringC>; export type APIKeys = t.TypeOf; export declare const ProviderConfig: t.TypeC<{ providerUrls: t.PartialC<{ Mumbai: t.StringC; Mainnet: t.StringC; Goerli: t.StringC; Polygon: t.StringC; }>; privateKeys: t.PartialC<{ Mumbai: t.StringC; Mainnet: t.StringC; Goerli: t.StringC; Polygon: t.StringC; }>; }>; export type ProviderConfig = t.TypeOf; export type SupportedNetwork = keyof NetworkSecrets; export declare const SupportedNetwork: t.KeyofC<{ Mumbai: t.StringC; Mainnet: t.StringC; Goerli: t.StringC; Polygon: t.StringC; }>; export declare const ApiConfig: t.TypeC<{ identityServiceHost: t.StringC; aspenHost: t.StringC; clientId: t.StringC; redirectUri: t.StringC; }>; export type IdentityClientConfig = t.TypeOf; export declare const ApiConfigs: t.PartialC<{ staging: t.TypeC<{ identityServiceHost: t.StringC; aspenHost: t.StringC; clientId: t.StringC; redirectUri: t.StringC; }>; develop: t.TypeC<{ identityServiceHost: t.StringC; aspenHost: t.StringC; clientId: t.StringC; redirectUri: t.StringC; }>; production: t.TypeC<{ identityServiceHost: t.StringC; aspenHost: t.StringC; clientId: t.StringC; redirectUri: t.StringC; }>; localhost: t.TypeC<{ identityServiceHost: t.StringC; aspenHost: t.StringC; clientId: t.StringC; redirectUri: t.StringC; }>; }>; export type ApiConfigs = t.TypeOf; export type AspenEnvironment = keyof ApiConfigs; export declare const AspenEnvironment: t.KeyofC<{ staging: t.TypeC<{ identityServiceHost: t.StringC; aspenHost: t.StringC; clientId: t.StringC; redirectUri: t.StringC; }>; develop: t.TypeC<{ identityServiceHost: t.StringC; aspenHost: t.StringC; clientId: t.StringC; redirectUri: t.StringC; }>; production: t.TypeC<{ identityServiceHost: t.StringC; aspenHost: t.StringC; clientId: t.StringC; redirectUri: t.StringC; }>; localhost: t.TypeC<{ identityServiceHost: t.StringC; aspenHost: t.StringC; clientId: t.StringC; redirectUri: t.StringC; }>; }>; export declare function walletFor(config: ProviderConfig, network: SupportedNetwork): Promise; export declare function providerFor({ providerUrls }: ProviderConfig, network: SupportedNetwork): Promise; export declare function getAspenClient(configs: ApiConfigs, env: AspenEnvironment, apiKey: string): AspenClient; export declare function getIdentityClient(configs: ApiConfigs, env: AspenEnvironment): OidcClient;