import sails from "@42pub/typed-sails"; import { Config } from "@webresto/core/interfaces/Config"; import AwaitEmitter from "@webresto/core/libs/AwaitEmitter"; import BonusProgram from "@webresto/core/models/BonusProgram"; import PaymentMethod from "@webresto/core/models/PaymentMethod"; import Order from "@webresto/core/models/Order"; import Dish from "@webresto/core/models/Dish"; type sailsConfig = typeof sails.config; declare global { const emitter: AwaitEmitter; const NotificationManager: typeof import("@webresto/core/libs/NotificationManager").NotificationManager const Adapter: typeof import("@webresto/core/adapters").Adapter export interface Sails extends sails.Sails { on: any emit: any router: any hooks: any models: any; config: _sailsConfig; log: any; after: any; graphql: any; } interface _sailsConfig extends sailsConfig { restocore: Config; [key:string]: any | object; } export const sails: Sails; type ReqType = sails.Request; type ResType = sails.Response; type PropType = TObj[TProp]; } declare global { interface IAwaitEmitter { [key: `graphql-query-${string}`]: [any]; [key: `http-api:before-send-${string}`]: [any]; 'graphql-return-payment-method': [string, PaymentMethod[]] "http-api:create-newcart": [Order] "http-api:init-newcart": [Order] "http-api:before-response-order-update": [Order] /** * В данном случае надо указывать PopulatedOrder */ "http-api:before-response-order-set-dish-comment": [Order] "http-api:before-response-order-set-dish-amount": [Order] "http-api:before-response-order-remove-dish": [Order] "http-api:before-response-order-replace-dish":[Order] "http-api:before-response-order-add-dish": [Order] "http-api:before-response-order": [Order] "graphql-return-bonus-program": [string, BonusProgram[]] "send-message": [{orderId: string, message: any}] } }