import { z } from 'zod';
export declare const SCOPES: {
    readonly CATALOG_READ: "catalog:read";
    readonly ORDERS_READ: "orders:read";
    readonly ORDERS_PII: "orders:pii";
};
export type Scope = (typeof SCOPES)[keyof typeof SCOPES];
declare const mcpEnv: z.ZodObject<{
    NODE_ENV: z.ZodDefault<z.ZodEnum<{
        development: "development";
        test: "test";
        production: "production";
    }>>;
    LOG_LEVEL: z.ZodDefault<z.ZodEnum<{
        fatal: "fatal";
        error: "error";
        warn: "warn";
        info: "info";
        debug: "debug";
        trace: "trace";
    }>>;
    DATABASE_URL: z.ZodURL;
    MAGENTO_BASE_URL: z.ZodPipe<z.ZodURL, z.ZodTransform<string, string>>;
    MAGENTO_ACCESS_TOKEN: z.ZodString;
    MAGENTO_ACCESS_TOKEN_SECRET: z.ZodOptional<z.ZodString>;
    MAGENTO_CONSUMER_KEY: z.ZodOptional<z.ZodString>;
    MAGENTO_CONSUMER_SECRET: z.ZodOptional<z.ZodString>;
    MAGENTO_STORE_CODES: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string[], string | undefined>>;
    MAGENTO_DEFAULT_STORE: z.ZodDefault<z.ZodString>;
    MAGENTO_STOCK_ID: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
    CATALOG_API_URL: z.ZodPipe<z.ZodURL, z.ZodTransform<string, string>>;
    CATALOG_API_TOKEN: z.ZodString;
    CATALOG_STOCK_ENABLED: z.ZodPipe<z.ZodDefault<z.ZodEnum<{
        true: "true";
        false: "false";
    }>>, z.ZodTransform<boolean, "true" | "false">>;
    MCP_PUBLIC_URL: z.ZodURL;
    MCP_HOST: z.ZodDefault<z.ZodString>;
    MCP_PORT: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
    MCP_ALLOWED_HOSTS: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string[], string | undefined>>;
    AUTH_MODE: z.ZodDefault<z.ZodEnum<{
        magento: "magento";
        oauth: "oauth";
        static: "static";
    }>>;
    MCP_AUTH_SECRET: z.ZodOptional<z.ZodString>;
    MAGENTO_ADMIN_2FA: z.ZodDefault<z.ZodEnum<{
        google: "google";
        none: "none";
    }>>;
    MCP_USER_SCOPES: z.ZodDefault<z.ZodString>;
    MCP_ACCESS_TOKEN_TTL_MIN: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
    MCP_REFRESH_TOKEN_TTL_DAYS: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
    MCP_STORE_NAME: z.ZodDefault<z.ZodString>;
    OAUTH_ISSUER: z.ZodOptional<z.ZodURL>;
    OAUTH_AUDIENCE: z.ZodOptional<z.ZodString>;
    OAUTH_SCOPE_CLAIM: z.ZodDefault<z.ZodString>;
    MCP_STATIC_TOKENS: z.ZodOptional<z.ZodString>;
    MCP_RATE_LIMIT_PER_MIN: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
    MAGENTO_LIVE_TIMEOUT_MS: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
}, z.core.$strip>;
export type McpEnv = z.infer<typeof mcpEnv>;
export declare const loadMcpEnv: () => {
    NODE_ENV: "development" | "test" | "production";
    LOG_LEVEL: "error" | "fatal" | "warn" | "info" | "debug" | "trace";
    DATABASE_URL: string;
    MAGENTO_BASE_URL: string;
    MAGENTO_ACCESS_TOKEN: string;
    MAGENTO_STORE_CODES: string[];
    MAGENTO_DEFAULT_STORE: string;
    MAGENTO_STOCK_ID: number;
    CATALOG_API_URL: string;
    CATALOG_API_TOKEN: string;
    CATALOG_STOCK_ENABLED: boolean;
    MCP_PUBLIC_URL: string;
    MCP_HOST: string;
    MCP_PORT: number;
    MCP_ALLOWED_HOSTS: string[];
    AUTH_MODE: "magento" | "oauth" | "static";
    MAGENTO_ADMIN_2FA: "google" | "none";
    MCP_USER_SCOPES: string;
    MCP_ACCESS_TOKEN_TTL_MIN: number;
    MCP_REFRESH_TOKEN_TTL_DAYS: number;
    MCP_STORE_NAME: string;
    OAUTH_SCOPE_CLAIM: string;
    MCP_RATE_LIMIT_PER_MIN: number;
    MAGENTO_LIVE_TIMEOUT_MS: number;
    MAGENTO_ACCESS_TOKEN_SECRET?: string | undefined;
    MAGENTO_CONSUMER_KEY?: string | undefined;
    MAGENTO_CONSUMER_SECRET?: string | undefined;
    MCP_AUTH_SECRET?: string | undefined;
    OAUTH_ISSUER?: string | undefined;
    OAUTH_AUDIENCE?: string | undefined;
    MCP_STATIC_TOKENS?: string | undefined;
};
export {};
//# sourceMappingURL=config.d.ts.map