/** * @module Resources/WebHooks */ import { ResponseCallback, ErrorResponse, SendData } from "../api/RestAPI"; import { CRUDResource, CRUDPaginationParams, CRUDItemsResponse } from "./CRUDResource"; export declare enum WebHookTrigger { CHARGE_FINISHED = "charge_finished", CHARGE_UPDATED = "charge_updated", SUBSCRIPTION_PAYMENT = "subscription_payment", SUBSCRIPTION_FAILURE = "subscription_failure", SUBSCRIPTION_CANCELED = "subscription_canceled", SUBSCRIPTION_COMPLETED = "subscription_completed", SUBSCRIPTION_SUSPENDED = "subscription_suspended", REFUND_FINISHED = "refund_finished", CANCEL_FINISHED = "cancel_finished", TRANSFER_CREATED = "transfer_created", TRANSFER_UPDATED = "transfer_updated", TRANSFER_FINALIZED = "transfer_finalized" } export declare type WebHooksListParams = CRUDPaginationParams; export interface WebHookCreateParams { triggers: Trigger[]; url: string; } export interface WebHookUpdateParams { triggers?: Trigger[]; url?: string; } export interface WebHookItem { id: string; merchantId: string; storeId: string; triggers: Trigger[]; url: string; createdOn: string; } export declare type ResponseWebHook = WebHookItem; export declare type ResponseWebHooks = CRUDItemsResponse; export declare class WebHooks extends CRUDResource { static requiredParams: string[]; static routeBase: string; list(data?: SendData, callback?: ResponseCallback, storeId?: string): Promise; create(data: SendData, callback?: ResponseCallback, storeId?: string): Promise; get(id: string, data?: SendData, callback?: ResponseCallback, storeId?: string): Promise; update(id: string, data?: SendData, callback?: ResponseCallback, storeId?: string): Promise; delete(id: string, data?: SendData, callback?: ResponseCallback, storeId?: string): Promise; }