import { type ConfigError } from 'effect/ConfigError'; import * as ConfigProvider from 'effect/ConfigProvider'; import * as Context from 'effect/Context'; import * as Layer from 'effect/Layer'; import * as Option from 'effect/Option'; import * as CoinPublicKey from './CoinPublicKey.js'; import * as NetworkId from './NetworkId.js'; import * as SigningKey from './SigningKey.js'; declare const Keys_base: Context.TagClass; /** * Provides accessors for retrieving configured keys. * * @category services */ export declare class Keys extends Keys_base { } declare const Network_base: Context.TagClass; /** * Provides an accessor for retrieving the configured {@link NetworkId.NetworkId | NetworkId}. * * @category services */ export declare class Network extends Network_base { } export declare namespace Configuration { /** * Accessors for retrieving keys. */ interface Keys { /** * Gets the current user's Zswap public key. * * @category keys */ readonly coinPublicKey: CoinPublicKey.CoinPublicKey; /** * Gets a signing key. * * @remarks * A signing key is required when creating Contract Maintenance Authority (CMA) instances when initializing * new contracts. If `Option.None` is returned, then a new singing key is sampled and used for the CMA * instead. Returning the same signing key is useful when that key is to be used to maintain multiple contracts. * * The returned key carries its {@link SigningKey.SignatureKind | kind} (the `tag`), taken from the * `keys.signingKind` configuration value. When `signingKind` is not configured it defaults to * {@link SigningKey.DefaultSignatureKind} (`'schnorr'`). * * @category keys */ getSigningKey(): Option.Option; } } /** * Creates a platform independent configuration provider, * * @param json A JSON object from which configuration values can be read. * @returns A `ConfigProvider` that defaults to values present in `json`, but allows them to be overridden * via environment variables. * * @category constructors */ export declare const configProvider: (json: unknown) => ConfigProvider.ConfigProvider; /** * A default layer that provides a collection of services that provide accessors, that in turn, access underlying * configured values. * * @see {@link Keys} * @see {@link Network} * * @category layers */ export declare const layer: Layer.Layer; export {}; //# sourceMappingURL=Configuration.d.ts.map