import { z } from 'zod'; import type { Keys, AssetSchema } from '../core/Interfaces'; export interface WalletConfig { enabled: boolean; keys: Keys; dataDir?: string; supportedSchemas?: AssetSchema[]; maxAllocationsPerUtxo?: number; vanillaKeychain?: number; } export declare enum LogLevel { NONE = "none", ERROR = "error", WARN = "warn", INFO = "info", DEBUG = "debug", VERBOSE = "verbose" } export declare enum Environment { TESTNET4 = "TESTNET4", REGTEST = "REGTEST", MAINNET = "MAINNET" } export declare const GasFreeFeatureConfigSchema: z.ZodObject<{ enabled: z.ZodOptional; timeout: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; timeout?: number | undefined; }, { enabled?: boolean | undefined; timeout?: number | undefined; }>; export declare const WatchTowerFeatureConfigSchema: z.ZodObject<{ enabled: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; }, { enabled?: boolean | undefined; }>; export declare const LoggingConfigSchema: z.ZodObject<{ level: z.ZodOptional>; logger: z.ZodOptional, z.ZodUnknown>>; }, "strip", z.ZodTypeAny, { level?: LogLevel | undefined; logger?: ((...args: unknown[]) => unknown) | undefined; }, { level?: LogLevel | undefined; logger?: ((...args: unknown[]) => unknown) | undefined; }>; export declare const SDKOptionsSchema: z.ZodObject<{ strictMode: z.ZodOptional; }, "strip", z.ZodTypeAny, { strictMode?: boolean | undefined; }, { strictMode?: boolean | undefined; }>; export declare const SDKConfigSchema: z.ZodObject<{ apiKey: z.ZodString; environment: z.ZodDefault>; features: z.ZodOptional; timeout: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; timeout?: number | undefined; }, { enabled?: boolean | undefined; timeout?: number | undefined; }>>; watchTower: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; }, { enabled?: boolean | undefined; }>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ gasFree: z.ZodOptional; timeout: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; timeout?: number | undefined; }, { enabled?: boolean | undefined; timeout?: number | undefined; }>>; watchTower: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; }, { enabled?: boolean | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ gasFree: z.ZodOptional; timeout: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; timeout?: number | undefined; }, { enabled?: boolean | undefined; timeout?: number | undefined; }>>; watchTower: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; }, { enabled?: boolean | undefined; }>>; }, z.ZodTypeAny, "passthrough">>>; logging: z.ZodOptional>; logger: z.ZodOptional, z.ZodUnknown>>; }, "strip", z.ZodTypeAny, { level?: LogLevel | undefined; logger?: ((...args: unknown[]) => unknown) | undefined; }, { level?: LogLevel | undefined; logger?: ((...args: unknown[]) => unknown) | undefined; }>>; options: z.ZodOptional; }, "strip", z.ZodTypeAny, { strictMode?: boolean | undefined; }, { strictMode?: boolean | undefined; }>>; }, "strip", z.ZodTypeAny, { apiKey: string; environment: Environment; features?: z.objectOutputType<{ gasFree: z.ZodOptional; timeout: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; timeout?: number | undefined; }, { enabled?: boolean | undefined; timeout?: number | undefined; }>>; watchTower: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; }, { enabled?: boolean | undefined; }>>; }, z.ZodTypeAny, "passthrough"> | undefined; logging?: { level?: LogLevel | undefined; logger?: ((...args: unknown[]) => unknown) | undefined; } | undefined; options?: { strictMode?: boolean | undefined; } | undefined; }, { apiKey: string; environment?: Environment | undefined; features?: z.objectInputType<{ gasFree: z.ZodOptional; timeout: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; timeout?: number | undefined; }, { enabled?: boolean | undefined; timeout?: number | undefined; }>>; watchTower: z.ZodOptional; }, "strip", z.ZodTypeAny, { enabled?: boolean | undefined; }, { enabled?: boolean | undefined; }>>; }, z.ZodTypeAny, "passthrough"> | undefined; logging?: { level?: LogLevel | undefined; logger?: ((...args: unknown[]) => unknown) | undefined; } | undefined; options?: { strictMode?: boolean | undefined; } | undefined; }>; export interface SDKConfig { apiKey: string; environment: Environment; wallet?: WalletConfig; features?: { gasFree?: { enabled?: boolean; timeout?: number; }; watchTower?: { enabled?: boolean; }; [key: string]: { enabled?: boolean; [key: string]: unknown; } | undefined; }; logging?: { level?: LogLevel; logger?: (level: LogLevel, message: string, ...args: unknown[]) => void; }; options?: { strictMode?: boolean; }; } export declare const DEFAULT_SDK_CONFIG: Partial; export declare function validateSDKConfig(config: SDKConfig): void; export declare function mergeWithDefaults(config: SDKConfig): SDKConfig; //# sourceMappingURL=SDKConfig.d.ts.map