@scayle/storefront-nuxt
Version:
Nuxt integration for the SCAYLE Commerce Engine and Storefront API
1,071 lines (1,070 loc) • 72.6 kB
TypeScript
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";
}>>;