UNPKG

@scayle/storefront-nuxt

Version:

Nuxt integration for the SCAYLE Commerce Engine and Storefront API

1,071 lines (1,070 loc) 72.6 kB
import * as z from 'zod/mini'; import type { LogLevel, WithParams } from '@scayle/storefront-core'; export declare const RedirectsSchema: z.ZodMiniObject<{ enabled: z.ZodMiniBoolean<boolean>; queryParamWhitelist: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>; strategy: z.ZodMiniOptional<z.ZodMiniEnum<{ "before-request": "before-request"; "on-missing": "on-missing"; }>>; }, z.core.$strip>; declare const SessionSchema: z.ZodMiniObject<{ /** * The `sameSite` policy to use for the session cookie */ sameSite: z.ZodMiniOptional<z.ZodMiniEnum<{ lax: "lax"; strict: "strict"; none: "none"; }>>; /** * The default `maxAge` (in seconds) set on the session cookie and default TTL for session store */ maxAge: z.ZodMiniOptional<z.ZodMiniNumber<number>>; /** * The name used for the session cookie */ cookieName: z.ZodMiniOptional<z.ZodMiniString<string>>; /** * The secret used for signing session cookies. If an array is passed, the last * value is used for signing new cookies, but all values are used to verify cookies. */ secret: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>; /** * Controls the domain option on the session cookie */ domain: z.ZodMiniOptional<z.ZodMiniString<string>>; }, z.core.$strip>; declare const SapiSchema: z.ZodMiniObject<{ host: z.ZodMiniURL; token: z.ZodMiniString<string>; }, z.core.$strip>; declare const IdpSchema: z.ZodMiniObject<{ enabled: z.ZodMiniBoolean<boolean>; idpKeys: z.ZodMiniArray<z.ZodMiniString<string>>; idpRedirectURL: z.ZodMiniString<string>; }, z.core.$strip>; declare const StorageSchema: z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{ driver: z.ZodMiniEnum<{ null: "null"; "azure-app-configuration": "azure-app-configuration"; azureAppConfiguration: "azureAppConfiguration"; "azure-cosmos": "azure-cosmos"; azureCosmos: "azureCosmos"; "azure-key-vault": "azure-key-vault"; azureKeyVault: "azureKeyVault"; "azure-storage-blob": "azure-storage-blob"; azureStorageBlob: "azureStorageBlob"; "azure-storage-table": "azure-storage-table"; azureStorageTable: "azureStorageTable"; "capacitor-preferences": "capacitor-preferences"; capacitorPreferences: "capacitorPreferences"; "cloudflare-kv-binding": "cloudflare-kv-binding"; cloudflareKVBinding: "cloudflareKVBinding"; "cloudflare-kv-http": "cloudflare-kv-http"; cloudflareKVHttp: "cloudflareKVHttp"; "cloudflare-r2-binding": "cloudflare-r2-binding"; cloudflareR2Binding: "cloudflareR2Binding"; db0: "db0"; "deno-kv-node": "deno-kv-node"; denoKVNode: "denoKVNode"; "deno-kv": "deno-kv"; denoKV: "denoKV"; "fs-lite": "fs-lite"; fsLite: "fsLite"; fs: "fs"; github: "github"; http: "http"; indexedb: "indexedb"; localstorage: "localstorage"; "lru-cache": "lru-cache"; lruCache: "lruCache"; memory: "memory"; mongodb: "mongodb"; "netlify-blobs": "netlify-blobs"; netlifyBlobs: "netlifyBlobs"; overlay: "overlay"; planetscale: "planetscale"; redis: "redis"; s3: "s3"; "session-storage": "session-storage"; sessionStorage: "sessionStorage"; uploadthing: "uploadthing"; upstash: "upstash"; "vercel-blob": "vercel-blob"; vercelBlob: "vercelBlob"; "vercel-kv": "vercel-kv"; vercelKV: "vercelKV"; "vercel-runtime-cache": "vercel-runtime-cache"; vercelRuntimeCache: "vercelRuntimeCache"; }>; compression: z.ZodMiniOptional<z.ZodMiniEnum<{ none: "none"; deflate: "deflate"; gzip: "gzip"; brotli: "brotli"; }>>; url: z.ZodMiniOptional<z.ZodMiniURL>; token: z.ZodMiniOptional<z.ZodMiniString<string>>; host: z.ZodMiniOptional<z.ZodMiniString<string>>; port: z.ZodMiniOptional<z.ZodMiniNumber<number>>; username: z.ZodMiniOptional<z.ZodMiniString<string>>; password: z.ZodMiniOptional<z.ZodMiniString<string>>; tls: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; ttl: z.ZodMiniOptional<z.ZodMiniNumber<number>>; }, z.core.$strip>, z.ZodMiniObject<{ driver: z.ZodMiniLiteral<"scayleKv">; compression: z.ZodMiniOptional<z.ZodMiniEnum<{ none: "none"; deflate: "deflate"; gzip: "gzip"; brotli: "brotli"; }>>; ttl: z.ZodMiniOptional<z.ZodMiniNumber<number>>; disableClusterMode: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; }, z.core.$strip>], "driver">; declare const CheckoutShopConfigSchema: z.ZodMiniObject<{ token: z.ZodMiniString<string>; secret: z.ZodMiniString<string>; host: z.ZodMiniURL; user: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>; cbdExpiration: z.ZodMiniOptional<z.ZodMiniNumber<number>>; shopId: z.ZodMiniOptional<z.ZodMiniNumber<number>>; }, z.core.$strip>; declare const ShopConfigSchema: z.ZodMiniObject<{ idp: z.ZodMiniOptional<z.ZodMiniObject<{ enabled: z.ZodMiniBoolean<boolean>; idpKeys: z.ZodMiniArray<z.ZodMiniString<string>>; idpRedirectURL: z.ZodMiniString<string>; }, z.core.$strip>>; shopId: z.ZodMiniNumber<number>; path: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>; domain: z.ZodMiniOptional<z.ZodMiniString<string>>; locale: z.ZodMiniString<string>; auth: z.ZodMiniObject<{ resetPasswordUrl: z.ZodMiniString<string>; }, z.core.$strip>; currency: z.ZodMiniString<string>; checkout: z.ZodMiniObject<{ token: z.ZodMiniString<string>; secret: z.ZodMiniString<string>; host: z.ZodMiniURL; user: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>; cbdExpiration: z.ZodMiniOptional<z.ZodMiniNumber<number>>; shopId: z.ZodMiniOptional<z.ZodMiniNumber<number>>; }, z.core.$strip>; appKeys: z.ZodMiniOptional<z.ZodMiniObject<{ wishlistKey: z.ZodMiniString<string>; basketKey: z.ZodMiniString<string>; hashAlgorithm: z.ZodMiniEnum<{ none: "none"; md5: "md5"; sha256: "sha256"; }>; }, z.core.$strip>>; currencyFractionDigits: z.ZodMiniOptional<z.ZodMiniNumber<number>>; isEnabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; sessionConfig: z.ZodMiniOptional<z.ZodMiniObject<{ /** * The `sameSite` policy to use for the session cookie */ sameSite: z.ZodMiniOptional<z.ZodMiniEnum<{ lax: "lax"; strict: "strict"; none: "none"; }>>; /** * The default `maxAge` (in seconds) set on the session cookie and default TTL for session store */ maxAge: z.ZodMiniOptional<z.ZodMiniNumber<number>>; /** * The name used for the session cookie */ cookieName: z.ZodMiniOptional<z.ZodMiniString<string>>; /** * The secret used for signing session cookies. If an array is passed, the last * value is used for signing new cookies, but all values are used to verify cookies. */ secret: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>; /** * Controls the domain option on the session cookie */ domain: z.ZodMiniOptional<z.ZodMiniString<string>>; }, z.core.$strip>>; sapi: z.ZodMiniOptional<z.ZodMiniObject<{ host: z.ZodMiniURL; token: z.ZodMiniString<string>; }, z.core.$strip>>; /** * @deprecated The `storage` option within `shopConfig` is deprecated. Consider using nuxt storage configuration instead. */ storage: z.ZodMiniOptional<z.ZodMiniObject<{ session: z.ZodMiniOptional<z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{ driver: z.ZodMiniEnum<{ null: "null"; "azure-app-configuration": "azure-app-configuration"; azureAppConfiguration: "azureAppConfiguration"; "azure-cosmos": "azure-cosmos"; azureCosmos: "azureCosmos"; "azure-key-vault": "azure-key-vault"; azureKeyVault: "azureKeyVault"; "azure-storage-blob": "azure-storage-blob"; azureStorageBlob: "azureStorageBlob"; "azure-storage-table": "azure-storage-table"; azureStorageTable: "azureStorageTable"; "capacitor-preferences": "capacitor-preferences"; capacitorPreferences: "capacitorPreferences"; "cloudflare-kv-binding": "cloudflare-kv-binding"; cloudflareKVBinding: "cloudflareKVBinding"; "cloudflare-kv-http": "cloudflare-kv-http"; cloudflareKVHttp: "cloudflareKVHttp"; "cloudflare-r2-binding": "cloudflare-r2-binding"; cloudflareR2Binding: "cloudflareR2Binding"; db0: "db0"; "deno-kv-node": "deno-kv-node"; denoKVNode: "denoKVNode"; "deno-kv": "deno-kv"; denoKV: "denoKV"; "fs-lite": "fs-lite"; fsLite: "fsLite"; fs: "fs"; github: "github"; http: "http"; indexedb: "indexedb"; localstorage: "localstorage"; "lru-cache": "lru-cache"; lruCache: "lruCache"; memory: "memory"; mongodb: "mongodb"; "netlify-blobs": "netlify-blobs"; netlifyBlobs: "netlifyBlobs"; overlay: "overlay"; planetscale: "planetscale"; redis: "redis"; s3: "s3"; "session-storage": "session-storage"; sessionStorage: "sessionStorage"; uploadthing: "uploadthing"; upstash: "upstash"; "vercel-blob": "vercel-blob"; vercelBlob: "vercelBlob"; "vercel-kv": "vercel-kv"; vercelKV: "vercelKV"; "vercel-runtime-cache": "vercel-runtime-cache"; vercelRuntimeCache: "vercelRuntimeCache"; }>; compression: z.ZodMiniOptional<z.ZodMiniEnum<{ none: "none"; deflate: "deflate"; gzip: "gzip"; brotli: "brotli"; }>>; url: z.ZodMiniOptional<z.ZodMiniURL>; token: z.ZodMiniOptional<z.ZodMiniString<string>>; host: z.ZodMiniOptional<z.ZodMiniString<string>>; port: z.ZodMiniOptional<z.ZodMiniNumber<number>>; username: z.ZodMiniOptional<z.ZodMiniString<string>>; password: z.ZodMiniOptional<z.ZodMiniString<string>>; tls: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; ttl: z.ZodMiniOptional<z.ZodMiniNumber<number>>; }, z.core.$strip>, z.ZodMiniObject<{ driver: z.ZodMiniLiteral<"scayleKv">; compression: z.ZodMiniOptional<z.ZodMiniEnum<{ none: "none"; deflate: "deflate"; gzip: "gzip"; brotli: "brotli"; }>>; ttl: z.ZodMiniOptional<z.ZodMiniNumber<number>>; disableClusterMode: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; }, z.core.$strip>], "driver">>; cache: z.ZodMiniOptional<z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{ driver: z.ZodMiniEnum<{ null: "null"; "azure-app-configuration": "azure-app-configuration"; azureAppConfiguration: "azureAppConfiguration"; "azure-cosmos": "azure-cosmos"; azureCosmos: "azureCosmos"; "azure-key-vault": "azure-key-vault"; azureKeyVault: "azureKeyVault"; "azure-storage-blob": "azure-storage-blob"; azureStorageBlob: "azureStorageBlob"; "azure-storage-table": "azure-storage-table"; azureStorageTable: "azureStorageTable"; "capacitor-preferences": "capacitor-preferences"; capacitorPreferences: "capacitorPreferences"; "cloudflare-kv-binding": "cloudflare-kv-binding"; cloudflareKVBinding: "cloudflareKVBinding"; "cloudflare-kv-http": "cloudflare-kv-http"; cloudflareKVHttp: "cloudflareKVHttp"; "cloudflare-r2-binding": "cloudflare-r2-binding"; cloudflareR2Binding: "cloudflareR2Binding"; db0: "db0"; "deno-kv-node": "deno-kv-node"; denoKVNode: "denoKVNode"; "deno-kv": "deno-kv"; denoKV: "denoKV"; "fs-lite": "fs-lite"; fsLite: "fsLite"; fs: "fs"; github: "github"; http: "http"; indexedb: "indexedb"; localstorage: "localstorage"; "lru-cache": "lru-cache"; lruCache: "lruCache"; memory: "memory"; mongodb: "mongodb"; "netlify-blobs": "netlify-blobs"; netlifyBlobs: "netlifyBlobs"; overlay: "overlay"; planetscale: "planetscale"; redis: "redis"; s3: "s3"; "session-storage": "session-storage"; sessionStorage: "sessionStorage"; uploadthing: "uploadthing"; upstash: "upstash"; "vercel-blob": "vercel-blob"; vercelBlob: "vercelBlob"; "vercel-kv": "vercel-kv"; vercelKV: "vercelKV"; "vercel-runtime-cache": "vercel-runtime-cache"; vercelRuntimeCache: "vercelRuntimeCache"; }>; compression: z.ZodMiniOptional<z.ZodMiniEnum<{ none: "none"; deflate: "deflate"; gzip: "gzip"; brotli: "brotli"; }>>; url: z.ZodMiniOptional<z.ZodMiniURL>; token: z.ZodMiniOptional<z.ZodMiniString<string>>; host: z.ZodMiniOptional<z.ZodMiniString<string>>; port: z.ZodMiniOptional<z.ZodMiniNumber<number>>; username: z.ZodMiniOptional<z.ZodMiniString<string>>; password: z.ZodMiniOptional<z.ZodMiniString<string>>; tls: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; ttl: z.ZodMiniOptional<z.ZodMiniNumber<number>>; }, z.core.$strip>, z.ZodMiniObject<{ driver: z.ZodMiniLiteral<"scayleKv">; compression: z.ZodMiniOptional<z.ZodMiniEnum<{ none: "none"; deflate: "deflate"; gzip: "gzip"; brotli: "brotli"; }>>; ttl: z.ZodMiniOptional<z.ZodMiniNumber<number>>; disableClusterMode: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; }, z.core.$strip>], "driver">>; }, z.core.$strip>>; isDefault: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniString<string>]>>; }, z.core.$strip>; declare const ShopSelectorSchema: z.ZodMiniEnum<{ domain: "domain"; path: "path"; path_or_default: "path_or_default"; }>; type ShopConfigType = z.infer<typeof ShopConfigSchema>; declare const StorefrontRuntimeConfigSchema: z.ZodMiniObject<{ /** * Determines how the application identifies and switches between different shops. * It influences how the `domain` and `path` properties are used within the `shops` configuration. * * @see https://scayle.dev/en/core-documentation/storefront-guide/storefront-application/features/internationalization/configuration#routing-configuration */ shopSelector: z.ZodMiniEnum<{ domain: "domain"; path: "path"; path_or_default: "path_or_default"; }>; /** * Controls how the application handles URL redirects by leveraging the Storefront API, * which is synchronized with the SCAYLE Panel. When enabled, * the Storefront Core intercepts requests and checks for potential * redirects via the Storefront API. If a match is found, a 30x HTTP response * is returned with the target in the `Location` header and the appropriate * status code. * * @see https://scayle.dev/en/core-documentation/storefront-guide/storefront-application/features/redirects */ redirects: z.ZodMiniOptional<z.ZodMiniObject<{ enabled: z.ZodMiniBoolean<boolean>; queryParamWhitelist: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>; strategy: z.ZodMiniOptional<z.ZodMiniEnum<{ "before-request": "before-request"; "on-missing": "on-missing"; }>>; }, z.core.$strip>>; /** * Configures the available shops in the Storefront Application. Each shop represents a specific region or language, * with each shop identified by its unique shop ID from the SCAYLE tenant. * * @see https://scayle.dev/en/core-documentation/storefront-guide/storefront-application/technical-foundation/configuration#shops */ shops: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{ idp: z.ZodMiniOptional<z.ZodMiniObject<{ enabled: z.ZodMiniBoolean<boolean>; idpKeys: z.ZodMiniArray<z.ZodMiniString<string>>; idpRedirectURL: z.ZodMiniString<string>; }, z.core.$strip>>; shopId: z.ZodMiniNumber<number>; path: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>; domain: z.ZodMiniOptional<z.ZodMiniString<string>>; locale: z.ZodMiniString<string>; auth: z.ZodMiniObject<{ resetPasswordUrl: z.ZodMiniString<string>; }, z.core.$strip>; currency: z.ZodMiniString<string>; checkout: z.ZodMiniObject<{ token: z.ZodMiniString<string>; secret: z.ZodMiniString<string>; host: z.ZodMiniURL; user: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>; cbdExpiration: z.ZodMiniOptional<z.ZodMiniNumber<number>>; shopId: z.ZodMiniOptional<z.ZodMiniNumber<number>>; }, z.core.$strip>; appKeys: z.ZodMiniOptional<z.ZodMiniObject<{ wishlistKey: z.ZodMiniString<string>; basketKey: z.ZodMiniString<string>; hashAlgorithm: z.ZodMiniEnum<{ none: "none"; md5: "md5"; sha256: "sha256"; }>; }, z.core.$strip>>; currencyFractionDigits: z.ZodMiniOptional<z.ZodMiniNumber<number>>; isEnabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; sessionConfig: z.ZodMiniOptional<z.ZodMiniObject<{ /** * The `sameSite` policy to use for the session cookie */ sameSite: z.ZodMiniOptional<z.ZodMiniEnum<{ lax: "lax"; strict: "strict"; none: "none"; }>>; /** * The default `maxAge` (in seconds) set on the session cookie and default TTL for session store */ maxAge: z.ZodMiniOptional<z.ZodMiniNumber<number>>; /** * The name used for the session cookie */ cookieName: z.ZodMiniOptional<z.ZodMiniString<string>>; /** * The secret used for signing session cookies. If an array is passed, the last * value is used for signing new cookies, but all values are used to verify cookies. */ secret: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>; /** * Controls the domain option on the session cookie */ domain: z.ZodMiniOptional<z.ZodMiniString<string>>; }, z.core.$strip>>; sapi: z.ZodMiniOptional<z.ZodMiniObject<{ host: z.ZodMiniURL; token: z.ZodMiniString<string>; }, z.core.$strip>>; /** * @deprecated The `storage` option within `shopConfig` is deprecated. Consider using nuxt storage configuration instead. */ storage: z.ZodMiniOptional<z.ZodMiniObject<{ session: z.ZodMiniOptional<z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{ driver: z.ZodMiniEnum<{ null: "null"; "azure-app-configuration": "azure-app-configuration"; azureAppConfiguration: "azureAppConfiguration"; "azure-cosmos": "azure-cosmos"; azureCosmos: "azureCosmos"; "azure-key-vault": "azure-key-vault"; azureKeyVault: "azureKeyVault"; "azure-storage-blob": "azure-storage-blob"; azureStorageBlob: "azureStorageBlob"; "azure-storage-table": "azure-storage-table"; azureStorageTable: "azureStorageTable"; "capacitor-preferences": "capacitor-preferences"; capacitorPreferences: "capacitorPreferences"; "cloudflare-kv-binding": "cloudflare-kv-binding"; cloudflareKVBinding: "cloudflareKVBinding"; "cloudflare-kv-http": "cloudflare-kv-http"; cloudflareKVHttp: "cloudflareKVHttp"; "cloudflare-r2-binding": "cloudflare-r2-binding"; cloudflareR2Binding: "cloudflareR2Binding"; db0: "db0"; "deno-kv-node": "deno-kv-node"; denoKVNode: "denoKVNode"; "deno-kv": "deno-kv"; denoKV: "denoKV"; "fs-lite": "fs-lite"; fsLite: "fsLite"; fs: "fs"; github: "github"; http: "http"; indexedb: "indexedb"; localstorage: "localstorage"; "lru-cache": "lru-cache"; lruCache: "lruCache"; memory: "memory"; mongodb: "mongodb"; "netlify-blobs": "netlify-blobs"; netlifyBlobs: "netlifyBlobs"; overlay: "overlay"; planetscale: "planetscale"; redis: "redis"; s3: "s3"; "session-storage": "session-storage"; sessionStorage: "sessionStorage"; uploadthing: "uploadthing"; upstash: "upstash"; "vercel-blob": "vercel-blob"; vercelBlob: "vercelBlob"; "vercel-kv": "vercel-kv"; vercelKV: "vercelKV"; "vercel-runtime-cache": "vercel-runtime-cache"; vercelRuntimeCache: "vercelRuntimeCache"; }>; compression: z.ZodMiniOptional<z.ZodMiniEnum<{ none: "none"; deflate: "deflate"; gzip: "gzip"; brotli: "brotli"; }>>; url: z.ZodMiniOptional<z.ZodMiniURL>; token: z.ZodMiniOptional<z.ZodMiniString<string>>; host: z.ZodMiniOptional<z.ZodMiniString<string>>; port: z.ZodMiniOptional<z.ZodMiniNumber<number>>; username: z.ZodMiniOptional<z.ZodMiniString<string>>; password: z.ZodMiniOptional<z.ZodMiniString<string>>; tls: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; ttl: z.ZodMiniOptional<z.ZodMiniNumber<number>>; }, z.core.$strip>, z.ZodMiniObject<{ driver: z.ZodMiniLiteral<"scayleKv">; compression: z.ZodMiniOptional<z.ZodMiniEnum<{ none: "none"; deflate: "deflate"; gzip: "gzip"; brotli: "brotli"; }>>; ttl: z.ZodMiniOptional<z.ZodMiniNumber<number>>; disableClusterMode: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; }, z.core.$strip>], "driver">>; cache: z.ZodMiniOptional<z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{ driver: z.ZodMiniEnum<{ null: "null"; "azure-app-configuration": "azure-app-configuration"; azureAppConfiguration: "azureAppConfiguration"; "azure-cosmos": "azure-cosmos"; azureCosmos: "azureCosmos"; "azure-key-vault": "azure-key-vault"; azureKeyVault: "azureKeyVault"; "azure-storage-blob": "azure-storage-blob"; azureStorageBlob: "azureStorageBlob"; "azure-storage-table": "azure-storage-table"; azureStorageTable: "azureStorageTable"; "capacitor-preferences": "capacitor-preferences"; capacitorPreferences: "capacitorPreferences"; "cloudflare-kv-binding": "cloudflare-kv-binding"; cloudflareKVBinding: "cloudflareKVBinding"; "cloudflare-kv-http": "cloudflare-kv-http"; cloudflareKVHttp: "cloudflareKVHttp"; "cloudflare-r2-binding": "cloudflare-r2-binding"; cloudflareR2Binding: "cloudflareR2Binding"; db0: "db0"; "deno-kv-node": "deno-kv-node"; denoKVNode: "denoKVNode"; "deno-kv": "deno-kv"; denoKV: "denoKV"; "fs-lite": "fs-lite"; fsLite: "fsLite"; fs: "fs"; github: "github"; http: "http"; indexedb: "indexedb"; localstorage: "localstorage"; "lru-cache": "lru-cache"; lruCache: "lruCache"; memory: "memory"; mongodb: "mongodb"; "netlify-blobs": "netlify-blobs"; netlifyBlobs: "netlifyBlobs"; overlay: "overlay"; planetscale: "planetscale"; redis: "redis"; s3: "s3"; "session-storage": "session-storage"; sessionStorage: "sessionStorage"; uploadthing: "uploadthing"; upstash: "upstash"; "vercel-blob": "vercel-blob"; vercelBlob: "vercelBlob"; "vercel-kv": "vercel-kv"; vercelKV: "vercelKV"; "vercel-runtime-cache": "vercel-runtime-cache"; vercelRuntimeCache: "vercelRuntimeCache"; }>; compression: z.ZodMiniOptional<z.ZodMiniEnum<{ none: "none"; deflate: "deflate"; gzip: "gzip"; brotli: "brotli"; }>>; url: z.ZodMiniOptional<z.ZodMiniURL>; token: z.ZodMiniOptional<z.ZodMiniString<string>>; host: z.ZodMiniOptional<z.ZodMiniString<string>>; port: z.ZodMiniOptional<z.ZodMiniNumber<number>>; username: z.ZodMiniOptional<z.ZodMiniString<string>>; password: z.ZodMiniOptional<z.ZodMiniString<string>>; tls: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; ttl: z.ZodMiniOptional<z.ZodMiniNumber<number>>; }, z.core.$strip>, z.ZodMiniObject<{ driver: z.ZodMiniLiteral<"scayleKv">; compression: z.ZodMiniOptional<z.ZodMiniEnum<{ none: "none"; deflate: "deflate"; gzip: "gzip"; brotli: "brotli"; }>>; ttl: z.ZodMiniOptional<z.ZodMiniNumber<number>>; disableClusterMode: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; }, z.core.$strip>], "driver">>; }, z.core.$strip>>; isDefault: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniBoolean<boolean>, z.ZodMiniString<string>]>>; }, z.core.$strip>>; session: z.ZodMiniOptional<z.ZodMiniObject<{ /** * The `sameSite` policy to use for the session cookie */ sameSite: z.ZodMiniOptional<z.ZodMiniEnum<{ lax: "lax"; strict: "strict"; none: "none"; }>>; /** * The default `maxAge` (in seconds) set on the session cookie and default TTL for session store */ maxAge: z.ZodMiniOptional<z.ZodMiniNumber<number>>; /** * The name used for the session cookie */ cookieName: z.ZodMiniOptional<z.ZodMiniString<string>>; /** * The secret used for signing session cookies. If an array is passed, the last * value is used for signing new cookies, but all values are used to verify cookies. */ secret: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>; /** * Controls the domain option on the session cookie */ domain: z.ZodMiniOptional<z.ZodMiniString<string>>; }, z.core.$strip>>; /** * @deprecated The `storage` option within `storefront` is deprecated. Consider using nuxt storage configuration instead. */ storage: z.ZodMiniOptional<z.ZodMiniObject<{ session: z.ZodMiniOptional<z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{ driver: z.ZodMiniEnum<{ null: "null"; "azure-app-configuration": "azure-app-configuration"; azureAppConfiguration: "azureAppConfiguration"; "azure-cosmos": "azure-cosmos"; azureCosmos: "azureCosmos"; "azure-key-vault": "azure-key-vault"; azureKeyVault: "azureKeyVault"; "azure-storage-blob": "azure-storage-blob"; azureStorageBlob: "azureStorageBlob"; "azure-storage-table": "azure-storage-table"; azureStorageTable: "azureStorageTable"; "capacitor-preferences": "capacitor-preferences"; capacitorPreferences: "capacitorPreferences"; "cloudflare-kv-binding": "cloudflare-kv-binding"; cloudflareKVBinding: "cloudflareKVBinding"; "cloudflare-kv-http": "cloudflare-kv-http"; cloudflareKVHttp: "cloudflareKVHttp"; "cloudflare-r2-binding": "cloudflare-r2-binding"; cloudflareR2Binding: "cloudflareR2Binding"; db0: "db0"; "deno-kv-node": "deno-kv-node"; denoKVNode: "denoKVNode"; "deno-kv": "deno-kv"; denoKV: "denoKV"; "fs-lite": "fs-lite"; fsLite: "fsLite"; fs: "fs"; github: "github"; http: "http"; indexedb: "indexedb"; localstorage: "localstorage"; "lru-cache": "lru-cache"; lruCache: "lruCache"; memory: "memory"; mongodb: "mongodb"; "netlify-blobs": "netlify-blobs"; netlifyBlobs: "netlifyBlobs"; overlay: "overlay"; planetscale: "planetscale"; redis: "redis"; s3: "s3"; "session-storage": "session-storage"; sessionStorage: "sessionStorage"; uploadthing: "uploadthing"; upstash: "upstash"; "vercel-blob": "vercel-blob"; vercelBlob: "vercelBlob"; "vercel-kv": "vercel-kv"; vercelKV: "vercelKV"; "vercel-runtime-cache": "vercel-runtime-cache"; vercelRuntimeCache: "vercelRuntimeCache"; }>; compression: z.ZodMiniOptional<z.ZodMiniEnum<{ none: "none"; deflate: "deflate"; gzip: "gzip"; brotli: "brotli"; }>>; url: z.ZodMiniOptional<z.ZodMiniURL>; token: z.ZodMiniOptional<z.ZodMiniString<string>>; host: z.ZodMiniOptional<z.ZodMiniString<string>>; port: z.ZodMiniOptional<z.ZodMiniNumber<number>>; username: z.ZodMiniOptional<z.ZodMiniString<string>>; password: z.ZodMiniOptional<z.ZodMiniString<string>>; tls: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; ttl: z.ZodMiniOptional<z.ZodMiniNumber<number>>; }, z.core.$strip>, z.ZodMiniObject<{ driver: z.ZodMiniLiteral<"scayleKv">; compression: z.ZodMiniOptional<z.ZodMiniEnum<{ none: "none"; deflate: "deflate"; gzip: "gzip"; brotli: "brotli"; }>>; ttl: z.ZodMiniOptional<z.ZodMiniNumber<number>>; disableClusterMode: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; }, z.core.$strip>], "driver">>; cache: z.ZodMiniOptional<z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{ driver: z.ZodMiniEnum<{ null: "null"; "azure-app-configuration": "azure-app-configuration"; azureAppConfiguration: "azureAppConfiguration"; "azure-cosmos": "azure-cosmos"; azureCosmos: "azureCosmos"; "azure-key-vault": "azure-key-vault"; azureKeyVault: "azureKeyVault"; "azure-storage-blob": "azure-storage-blob"; azureStorageBlob: "azureStorageBlob"; "azure-storage-table": "azure-storage-table"; azureStorageTable: "azureStorageTable"; "capacitor-preferences": "capacitor-preferences"; capacitorPreferences: "capacitorPreferences"; "cloudflare-kv-binding": "cloudflare-kv-binding"; cloudflareKVBinding: "cloudflareKVBinding"; "cloudflare-kv-http": "cloudflare-kv-http"; cloudflareKVHttp: "cloudflareKVHttp"; "cloudflare-r2-binding": "cloudflare-r2-binding"; cloudflareR2Binding: "cloudflareR2Binding"; db0: "db0"; "deno-kv-node": "deno-kv-node"; denoKVNode: "denoKVNode"; "deno-kv": "deno-kv"; denoKV: "denoKV"; "fs-lite": "fs-lite"; fsLite: "fsLite"; fs: "fs"; github: "github"; http: "http"; indexedb: "indexedb"; localstorage: "localstorage"; "lru-cache": "lru-cache"; lruCache: "lruCache"; memory: "memory"; mongodb: "mongodb"; "netlify-blobs": "netlify-blobs"; netlifyBlobs: "netlifyBlobs"; overlay: "overlay"; planetscale: "planetscale"; redis: "redis"; s3: "s3"; "session-storage": "session-storage"; sessionStorage: "sessionStorage"; uploadthing: "uploadthing"; upstash: "upstash"; "vercel-blob": "vercel-blob"; vercelBlob: "vercelBlob"; "vercel-kv": "vercel-kv"; vercelKV: "vercelKV"; "vercel-runtime-cache": "vercel-runtime-cache"; vercelRuntimeCache: "vercelRuntimeCache"; }>; compression: z.ZodMiniOptional<z.ZodMiniEnum<{ none: "none"; deflate: "deflate"; gzip: "gzip"; brotli: "brotli"; }>>; url: z.ZodMiniOptional<z.ZodMiniURL>; token: z.ZodMiniOptional<z.ZodMiniString<string>>; host: z.ZodMiniOptional<z.ZodMiniString<string>>; port: z.ZodMiniOptional<z.ZodMiniNumber<number>>; username: z.ZodMiniOptional<z.ZodMiniString<string>>; password: z.ZodMiniOptional<z.ZodMiniString<string>>; tls: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; ttl: z.ZodMiniOptional<z.ZodMiniNumber<number>>; }, z.core.$strip>, z.ZodMiniObject<{ driver: z.ZodMiniLiteral<"scayleKv">; compression: z.ZodMiniOptional<z.ZodMiniEnum<{ none: "none"; deflate: "deflate"; gzip: "gzip"; brotli: "brotli"; }>>; ttl: z.ZodMiniOptional<z.ZodMiniNumber<number>>; disableClusterMode: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; }, z.core.$strip>], "driver">>; }, z.core.$strip>>; oauth: z.ZodMiniObject<{ apiHost: z.ZodMiniURL; clientId: z.ZodMiniUnion<readonly [z.ZodMiniNumber<number>, z.ZodMiniString<string>]>; clientSecret: z.ZodMiniString<string>; }, z.core.$strip>; appKeys: z.ZodMiniObject<{ wishlistKey: z.ZodMiniString<string>; basketKey: z.ZodMiniString<string>; hashAlgorithm: z.ZodMiniEnum<{ none: "none"; md5: "md5"; sha256: "sha256"; }>; }, z.core.$strip>; cache: z.ZodMiniOptional<z.ZodMiniObject<{ auth: z.ZodMiniOptional<z.ZodMiniObject<{ username: z.ZodMiniString<string>; password: z.ZodMiniString<string>; }, z.core.$strip>>; enabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; }, z.core.$strip>>; publicShopData: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>; idp: z.ZodMiniOptional<z.ZodMiniObject<{ enabled: z.ZodMiniBoolean<boolean>; idpKeys: z.ZodMiniArray<z.ZodMiniString<string>>; idpRedirectURL: z.ZodMiniString<string>; }, z.core.$strip>>; sapi: z.ZodMiniObject<{ host: z.ZodMiniURL; token: z.ZodMiniString<string>; }, z.core.$strip>; /** * Collection of feature flags regarding legacy features and functionalities. */ legacy: z.ZodMiniOptional<z.ZodMiniObject<{ enableSessionMigration: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; }, z.core.$strip>>; /** * @hidden * Undocumented property intended for internal usage only */ internalAccessHeader: z.ZodMiniOptional<z.ZodMiniString<string>>; }, z.core.$strip>; declare const StorefrontPublicRuntimeConfigSchema: z.ZodMiniObject<{ log: z.ZodMiniObject<{ name: z.ZodMiniString<string>; level: z.ZodMiniType<LogLevel, unknown, z.core.$ZodTypeInternals<LogLevel, unknown>>; json: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; output: z.ZodMiniDefault<z.ZodMiniEnum<{ stdout: "stdout"; stderr: "stderr"; auto: "auto"; }>>; }, z.core.$strip>; /** Collection of feature flags regarding legacy features and functionalities */ legacy: z.ZodMiniOptional<z.ZodMiniObject<{ enableDefaultGetCachedDataOverride: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; }, z.core.$strip>>; /** * Controls the default lazy loading behavior for useRpc. * If set to true,the useRpc composable will not block during data fetching. * * @default false */ rpcDefaultLazy: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; }, z.core.$strip>; export declare const RuntimeConfigSchema: z.ZodMiniObject<{ storefront: z.ZodMiniObject<{ /** * Determines how the application identifies and switches between different shops. * It influences how the `domain` and `path` properties are used within the `shops` configuration. * * @see https://scayle.dev/en/core-documentation/storefront-guide/storefront-application/features/internationalization/configuration#routing-configuration */ shopSelector: z.ZodMiniEnum<{ domain: "domain"; path: "path"; path_or_default: "path_or_default"; }>; /** * Controls how the application handles URL redirects by leveraging the Storefront API, * which is synchronized with the SCAYLE Panel. When enabled, * the Storefront Core intercepts requests and checks for potential * redirects via the Storefront API. If a match is found, a 30x HTTP response * is returned with the target in the `Location` header and the appropriate * status code. * * @see https://scayle.dev/en/core-documentation/storefront-guide/storefront-application/features/redirects */ redirects: z.ZodMiniOptional<z.ZodMiniObject<{ enabled: z.ZodMiniBoolean<boolean>; queryParamWhitelist: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>; strategy: z.ZodMiniOptional<z.ZodMiniEnum<{ "before-request": "before-request"; "on-missing": "on-missing"; }>>; }, z.core.$strip>>; /** * Configures the available shops in the Storefront Application. Each shop represents a specific region or language, * with each shop identified by its unique shop ID from the SCAYLE tenant. * * @see https://scayle.dev/en/core-documentation/storefront-guide/storefront-application/technical-foundation/configuration#shops */ shops: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{ idp: z.ZodMiniOptional<z.ZodMiniObject<{ enabled: z.ZodMiniBoolean<boolean>; idpKeys: z.ZodMiniArray<z.ZodMiniString<string>>; idpRedirectURL: z.ZodMiniString<string>; }, z.core.$strip>>; shopId: z.ZodMiniNumber<number>; path: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>; domain: z.ZodMiniOptional<z.ZodMiniString<string>>; locale: z.ZodMiniString<string>; auth: z.ZodMiniObject<{ resetPasswordUrl: z.ZodMiniString<string>; }, z.core.$strip>; currency: z.ZodMiniString<string>; checkout: z.ZodMiniObject<{ token: z.ZodMiniString<string>; secret: z.ZodMiniString<string>; host: z.ZodMiniURL; user: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>]>; cbdExpiration: z.ZodMiniOptional<z.ZodMiniNumber<number>>; shopId: z.ZodMiniOptional<z.ZodMiniNumber<number>>; }, z.core.$strip>; appKeys: z.ZodMiniOptional<z.ZodMiniObject<{ wishlistKey: z.ZodMiniString<string>; basketKey: z.ZodMiniString<string>; hashAlgorithm: z.ZodMiniEnum<{ none: "none"; md5: "md5"; sha256: "sha256"; }>; }, z.core.$strip>>; currencyFractionDigits: z.ZodMiniOptional<z.ZodMiniNumber<number>>; isEnabled: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; sessionConfig: z.ZodMiniOptional<z.ZodMiniObject<{ /** * The `sameSite` policy to use for the session cookie */ sameSite: z.ZodMiniOptional<z.ZodMiniEnum<{ lax: "lax"; strict: "strict"; none: "none"; }>>; /** * The default `maxAge` (in seconds) set on the session cookie and default TTL for session store */ maxAge: z.ZodMiniOptional<z.ZodMiniNumber<number>>; /** * The name used for the session cookie */ cookieName: z.ZodMiniOptional<z.ZodMiniString<string>>; /** * The secret used for signing session cookies. If an array is passed, the last * value is used for signing new cookies, but all values are used to verify cookies. */ secret: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniString<string>>]>>; /** * Controls the domain option on the session cookie */ domain: z.ZodMiniOptional<z.ZodMiniString<string>>; }, z.core.$strip>>; sapi: z.ZodMiniOptional<z.ZodMiniObject<{ host: z.ZodMiniURL; token: z.ZodMiniString<string>; }, z.core.$strip>>; /** * @deprecated The `storage` option within `shopConfig` is deprecated. Consider using nuxt storage configuration instead. */ storage: z.ZodMiniOptional<z.ZodMiniObject<{ session: z.ZodMiniOptional<z.ZodMiniDiscriminatedUnion<[z.ZodMiniObject<{ driver: z.ZodMiniEnum<{ null: "null"; "azure-app-configuration": "azure-app-configuration"; azureAppConfiguration: "azureAppConfiguration"; "azure-cosmos": "azure-cosmos"; azureCosmos: "azureCosmos"; "azure-key-vault": "azure-key-vault"; azureKeyVault: "azureKeyVault"; "azure-storage-blob": "azure-storage-blob"; azureStorageBlob: "azureStorageBlob"; "azure-storage-table": "azure-storage-table"; azureStorageTable: "azureStorageTable"; "capacitor-preferences": "capacitor-preferences"; capacitorPreferences: "capacitorPreferences"; "cloudflare-kv-binding": "cloudflare-kv-binding"; cloudflareKVBinding: "cloudflareKVBinding"; "cloudflare-kv-http": "cloudflare-kv-http"; cloudflareKVHttp: "cloudflareKVHttp"; "cloudflare-r2-binding": "cloudflare-r2-binding"; cloudflareR2Binding: "cloudflareR2Binding"; db0: "db0"; "deno-kv-node": "deno-kv-node"; denoKVNode: "denoKVNode"; "deno-kv": "deno-kv"; denoKV: "denoKV"; "fs-lite": "fs-lite"; fsLite: "fsLite"; fs: "fs"; github: "github"; http: "http"; indexedb: "indexedb"; localstorage: "localstorage"; "lru-cache": "lru-cache"; lruCache: "lruCache"; memory: "memory"; mongodb: "mongodb"; "netlify-blobs": "netlify-blobs"; netlifyBlobs: "netlifyBlobs"; overlay: "overlay"; planetscale: "planetscale"; redis: "redis"; s3: "s3"; "session-storage": "session-storage"; sessionStorage: "sessionStorage"; uploadthing: "uploadthing"; upstash: "upstash"; "vercel-blob": "vercel-blob"; vercelBlob: "vercelBlob"; "vercel-kv": "vercel-kv"; vercelKV: "vercelKV"; "vercel-runtime-cache": "vercel-runtime-cache"; vercelRuntimeCache: "vercelRuntimeCache"; }>; compression: z.ZodMiniOptional<z.ZodMiniEnum<{ none: "none"; deflate: "deflate"; gzip: "gzip"; brotli: "brotli"; }>>; url: z.ZodMiniOptional<z.ZodMiniURL>; token: z.ZodMiniOptional<z.ZodMiniString<string>>; host: z.ZodMiniOptional<z.ZodMiniString<string>>; port: z.ZodMiniOptional<z.ZodMiniNumber<number>>; username: z.ZodMiniOptional<z.ZodMiniString<string>>; password: z.ZodMiniOptional<z.ZodMiniString<string>>; tls: z.ZodMiniOptional<z.ZodMiniBoolean<boolean>>; ttl: z.ZodMiniOptional<z.ZodMiniNumber<number>>; }, z.core.$strip>, z.ZodMiniObject<{ driver: z.ZodMiniLiteral<"scayleKv">; compression: z.ZodMiniOptional<z.ZodMiniEnum<{ none: "none"; deflate: "deflate"; gzip: "gzip"; brotli: "brotli"; }>>;