import * as rest from './rest'; export declare enum HookEventStatus { pending = "pending", success = "success", fail = "fail" } export declare enum HookEventType { orderCreate = "order:create", orderUpdate = "order:update", depositCreate = "deposit:create", depositUpdate = "deposit:update", ping = "ping" } export declare type HookDeliveryResponse = { status: number; code: number; message: string; }; export declare type Hook = { id: string; sessionId: string; name: string | undefined; createdAt: string; updatedAt: string; targetUrl: string; enabled: boolean; eventTypes: HookEventType[]; }; export declare type HookEvent = { type: HookEventType; lastResponse?: HookDeliveryResponse; }; export declare type HookMeta = { hook: Hook; }; export declare type OrderCreateHookPayload = Omit; export declare type OrderUpdateHookPayload = Omit; export declare type DepositCreateHookPayload = Omit; export declare type DepositUpdateHookPayload = Omit; export declare type PingHookPayload = {}; export declare type HookPayload = OrderCreateHookPayload | OrderUpdateHookPayload | DepositCreateHookPayload | DepositUpdateHookPayload | PingHookPayload; export declare type PayloadForEventType

= P extends HookEventType.orderCreate ? OrderCreateHookPayload : P extends HookEventType.orderUpdate ? OrderUpdateHookPayload : P extends HookEventType.depositCreate ? DepositCreateHookPayload : P extends HookEventType.depositUpdate ? DepositUpdateHookPayload : P extends HookEventType.ping ? PingHookPayload : never; export declare type HookDeliveryFor = { meta: HookMeta; type: T; payload: PayloadForEventType; }; export declare type OrderCreateHookDelivery = HookDeliveryFor; export declare type OrderUpdateHookDelivery = HookDeliveryFor; export declare type DepositCreateHookDelivery = HookDeliveryFor; export declare type DepositUpdateHookDelivery = HookDeliveryFor; export declare type PingHookDelivery = HookDeliveryFor; export declare type HookDelivery = OrderCreateHookDelivery | OrderUpdateHookDelivery | DepositCreateHookDelivery | DepositUpdateHookDelivery | PingHookDelivery; //# sourceMappingURL=hooks.d.ts.map