import { FindConfig, RequestQueryFields, Logger as coreLogger, MedusaContainer as coreMedusaContainer } from "@medusajs/framework/types"; declare global { namespace Express { interface Request { user?: { customer_id?: string; userId?: string; }; scope: MedusaContainer; validatedQuery: RequestQueryFields & Record; validatedBody: unknown; /** * TODO: shouldn't this correspond to returnable fields instead of allowed fields? also it is used by the cleanResponseData util */ allowedProperties: string[]; /** * An object containing the select, relation, skip, take and order to be used with medusa internal services */ listConfig: FindConfig; /** * An object containing the select, relation to be used with medusa internal services */ retrieveConfig: FindConfig; /** * An object containing fields and variables to be used with the remoteQuery */ queryConfig: { fields: string[]; pagination: { order?: Record; skip: number; take?: number; }; }; /** * @deprecated. Instead use "req.queryConfig" */ remoteQueryConfig: Request["queryConfig"]; /** * An object containing the fields that are filterable e.g `{ id: Any }` */ filterableFields: Record; includes?: Record; /** * An array of fields and relations that are allowed to be queried, this can be set by the * consumer as part of a middleware and it will take precedence over the defaultAllowedFields set * by the api */ allowed?: string[]; errors: string[]; requestId?: string; } } } export type ClassConstructor = { new (...args: unknown[]): T; }; export type MedusaContainer = coreMedusaContainer; export type Logger = coreLogger; export type Constructor = new (...args: any[]) => T; //# sourceMappingURL=global.d.ts.map