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";
                    }>>;
                    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>;
    public: z.ZodMiniObject<{
        storefront: 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>;
    }, z.core.$strip>;
}, z.core.$strip>;
declare const ModuleOptionSchema: z.ZodMiniObject<{
    /**
     * The RPC directory where the custom application RPCs are defined.
     * The directory should have an `index.ts` file where all RPCs are exported using their name.
     * By default this will be `./rpcMethods`.
     */
    rpcDir: z.ZodMiniOptional<z.ZodMiniString<string>>;
    /**
     * The RPC method names which are exported from the `rpcDir`.
     * Usually this can just be `Object.keys(rpcMethodsDir)`.
     */
    rpcMethodNames: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
    /** Specify explicitly overridden RPC methods that are provided by the Storefront Core package. */
    rpcMethodOverrides: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniEnum<{
        getProductById: "getProductById";
        getProductsByIds: "getProductsByIds";
        getProductsByReferenceKeys: "getProductsByReferenceKeys";
        getProductsCount: "getProductsCount";
        fetchAllFiltersForCategory: "fetchAllFiltersForCategory";
        getFilters: "getFilters";
        getProductsByCategory: "getProductsByCategory";
        oauthForgetPassword: "oauthForgetPassword";
        oauthGuestLogin: "oauthGuestLogin";
        oauthLogin: "oauthLogin";
        oauthRegister: "oauthRegister";
        oauthRevokeToken: "oauthRevokeToken";
        refreshAccessToken: "refreshAccessToken";
        updatePasswordByHash: "updatePasswordByHash";
        addItemToBasket: "addItemToBasket";
        addItemsToBasket: "addItemsToBasket";
        getBasket: "getBasket";
        removeItemFromBasket: "removeItemFromBasket";
        clearBasket: "clearBasket";
        mergeBaskets: "mergeBaskets";
        updateBasketItem: "updateBasketItem";
        getApplicablePromotionsByCode: "getApplicablePromotionsByCode";
        updatePromotions: "updatePromotions";
        getBrands: "getBrands";
        getBrandById: "getBrandById";
        getRootCategories: "getRootCategories";
        getCategoryByPath: "getCategoryByPath";
        getCategoriesByPath: "getCategoriesByPath";
        getCategoryById: "getCategoryById";
        getCategoryTree: "getCategoryTree";
        getCampaign: "getCampaign";
        getCampaignKey: "getCampaignKey";
        getOrderDataByCbd: "getOrderDataByCbd";
        getSearchSuggestions: "getSearchSuggestions";
        resolveSearch: "resolveSearch";
        getShopConfiguration: "getShopConfiguration";
        getUser: "getUser";
        fetchUser: "fetchUser";
        refreshUser: "refreshUser";
        getAccessToken: "getAccessToken";
        getWishlist: "getWishlist";
        addItemToWishlist: "addItemToWishlist";
        removeItemFromWishlist: "removeItemFromWishlist";
        clearWishlist: "clearWishlist";
        getOrderById: "getOrderById";
        getOrderCustomData: "getOrderCustomData";
        getShopUserAddresses: "getShopUserAddresses";
        updateShopUser: "updateShopUser";
        updatePassword: "updatePassword";
        getCheckoutToken: "getCheckoutToken";
        getVariantById: "getVariantById";
        fetchAllNavigationTrees: "fetchAllNavigationTrees";
        fetchNavigationTreeById: "fetchNavigationTreeById";
        fetchNavigationTreeByName: "fetchNavigationTreeByName";
        getPromotions: "getPromotions";
        getCurrentPromotions: "getCurrentPromotions";
        getPromotionsByIds: "getPromotionsByIds";
        getExternalIdpRedirect: "getExternalIdpRedirect";
        handleIDPLoginCallback: "handleIDPLoginCallback";
    }>>>;
    /**
     * The base path for API routes.
     */
    apiBasePath: z.ZodMiniOptional<z.ZodMiniString<string>>;
}, z.core.$strip>;
type CheckoutShopConfigType = z.infer<typeof CheckoutShopConfigSchema>;
type SessionType = z.infer<typeof SessionSchema>;
type StorageType = z.infer<typeof StorageSchema>;
type SapiConfigType = z.infer<typeof SapiSchema>;
type StorefrontRuntimeConfigType = z.infer<typeof StorefrontRuntimeConfigSchema> & {
    /**
     * Default `with` parameters for Storefront API requests. These are used as defaults
     * within composables like `useWishlist` and can be overridden if needed.
     * Some composables also enforce minimum "with" parameters.
     *
     * @example
     * // Default `with` parameters for product listings.
     * withParams: {
     *   items: {
     *     product: {
     *       attributes: "all",
     *       advancedAttributes: "all",
     *       variants: {
     *         attributes: "all",
     *         advancedAttributes: "all",
     *       },
     *       images: "all",
     *       categories: {
     *         properties: "all"
     *       },
     *       priceRange: boolean
     *     },
     *     variant: {
     *       attributes: "all",
     *     },
     *   },
     * }
     * @see https://scayle.dev/en/core-documentation/storefront-guide/support-and-resources/upgrade-guides/migrate-to-storefront-v8
     */
    withParams?: WithParams;
};
type ShopSelectorType = z.infer<typeof ShopSelectorSchema>;
type RedirectType = z.infer<typeof RedirectsSchema>;
type IdpType = z.infer<typeof IdpSchema>;
type StorefrontPublicRuntimeConfigType = z.infer<typeof StorefrontPublicRuntimeConfigSchema>;
export type ModuleOptionType = z.infer<typeof ModuleOptionSchema>;
export type { CheckoutShopConfigType, SessionType, StorageType, SapiConfigType, ShopSelectorType, ShopConfigType, StorefrontRuntimeConfigType, RedirectType, StorefrontPublicRuntimeConfigType, IdpType, };
