import { type LoggerPublisherService } from "@ledgerhq/device-management-kit"; import { type ContextModuleConstructorArgs } from "./config/model/ContextModuleBuildArgs"; import { type ContextModuleCalConfig, type ContextModuleConfig, type ContextModuleDatasourceConfig, type ContextModuleMetadataServiceConfig, type ContextModuleReporterConfig, type ContextModuleWeb3ChecksConfig } from "./config/model/ContextModuleConfig"; import { type TrustedNameDataSource } from "./modules/ethereum/trusted-name/data/TrustedNameDataSource"; import { type TypedDataContextLoader } from "./modules/ethereum/typed-data/domain/TypedDataContextLoader"; import { type BlindSigningReporter } from "./modules/multichain/reporter/domain/BlindSigningReporter"; import { type ContextLoader } from "./shared/domain/ContextLoader"; import { type ContextModuleChainID } from "./shared/domain/ContextModuleChainID"; import { type ContextModule } from "./ContextModule"; /** * Default configuration for the context module * * @note This configuration is frozen to prevent modifications after construction * and can be used by external packages to get a default configuration. */ export declare const DEFAULT_CONFIG: Readonly; export declare class ContextModuleBuilder { private config; constructor({ originToken, loggerFactory }: ContextModuleConstructorArgs); /** * Remove default loaders from the list of loaders * * @returns this */ removeDefaultLoaders(): this; /** * Add a custom loader to the list of loaders * * @param loader loader to add to the list of loaders * @returns this */ addLoader(loader: ContextLoader): this; /** * Replace the default loader for typed data clear signing contexts * * @param loader loader to use for typed data clear signing contexts * @returns this */ addTypedDataLoader(loader: TypedDataContextLoader): this; /** * Add a custom CAL configuration * * @param calConfig * @returns this */ setCalConfig(calConfig: ContextModuleCalConfig): this; /** * Add a custom metadata service configuration * * @param metadataServiceConfig * @returns this */ setMetadataServiceConfig(metadataServiceConfig: ContextModuleMetadataServiceConfig): this; /** * Add a custom web3 checks configuration * * @param web3ChecksConfig * @returns this */ setWeb3ChecksConfig(web3ChecksConfig: ContextModuleWeb3ChecksConfig): this; /** * Add datasource configuration * * @param datasourceConfig * @returns this */ setDatasourceConfig(datasourceConfig: ContextModuleDatasourceConfig): this; /** * Set a custom reporter configuration * * @param reporterConfig * @returns this */ setReporterConfig(reporterConfig: ContextModuleReporterConfig): this; /** * Set the app source identifier included in blind signing reports * * @param appSource * @returns this */ setAppSource(appSource: string): this; /** * Set a custom blind signing reporter * * @param reporter reporter to use for blind signing events * @returns this */ setBlindSigningReporter(reporter: BlindSigningReporter): this; /** * Set a custom trusted name data source * * @param dataSource data source to use for trusted name resolution * @returns this */ setTrustedNameDataSource(dataSource: TrustedNameDataSource): this; /** * Set a custom logger factory * * @param loggerFactory * @returns this */ setLoggerFactory(loggerFactory: (tag: string) => LoggerPublisherService): this; /** * Set the chain for which this context module is built * * @param chain * @returns this */ setChain(chain: ContextModuleChainID): this; /** * Build the context module * * @returns the context module */ build(): ContextModule; } //# sourceMappingURL=ContextModuleBuilder.d.ts.map