type ConfigStructure = { shop: { language: string; timezone: string; currency: string; weightUnit: string; homeUrl: string; }; system: { file_storage: string; admin_collection_size?: number; upload_allowed_mime_types: string[]; theme?: string; extensions: Array<{ name: string; resolve: string; enabled: boolean; }>; session: { maxAge: number; resave: boolean; saveUninitialized: boolean; cookieSecret: string; cookieName: string; adminCookieName: string; }; notification_emails: { from?: string; order_confirmation?: { enabled: boolean; templatePath?: string | null; [key: string]: unknown; }; customer_welcome?: { enabled: boolean; templatePath?: string | null; [key: string]: unknown; }; reset_password?: { enabled: boolean; templatePath?: string | null; [key: string]: unknown; }; }; stripe?: { secretKey?: string; publishableKey?: string; [key: string]: unknown; }; paypal?: { [key: string]: unknown; }; cod?: { status?: number; [key: string]: unknown; }; }; catalog: { collectionPageSize: number; product: { image: { width: number; height: number; }; }; showOutOfStockProduct: boolean; }; checkout: { showShippingNote: boolean; }; pricing: { rounding: string; precision: number; tax: { rounding: string; precision: number; round_level: string; price_including_tax: boolean; }; }; themeConfig: { logo: { alt: string | undefined; src: string | undefined; width: number | undefined; height: number | undefined; }; headTags: { links: any[]; metas: any[]; scripts: any[]; bases: any[]; }; copyRight: string; }; oms: { order: { shipmentStatus: Record; paymentStatus: Record; status: Record; psoMapping: Record; reStockAfterCancellation: boolean; }; carriers: Record; }; }; type PathValue = P extends keyof T ? T[P] : P extends `${infer K}.${infer Rest}` ? K extends keyof T ? PathValue : never : never; type ConfigPath = keyof ConfigStructure | { [K in keyof ConfigStructure]: K extends string ? `${K}.${Extract}` | { [K2 in keyof ConfigStructure[K]]: K2 extends string ? `${K}.${K2}.${Extract}` | { [K3 in keyof ConfigStructure[K][K2]]: K3 extends string ? `${K}.${K2}.${K3}.${Extract}` : never; }[keyof ConfigStructure[K][K2]] : never; }[keyof ConfigStructure[K]] : never; }[keyof ConfigStructure]; /** * Get the configuration value base on path. Return the default value if the path is not found. */ export declare function getConfig

(path: P, defaultValue?: PathValue): PathValue; export {};