import { ResourceEventTypes } from './interfaces'; declare module './interfaces' { interface ResourceEventType { ActionStart: ResourceEvent; ActionError: ActionErrorResourceEvent; ActionSuccess: ResourceEvent; ActionEnd: ActionEndResourceEvent; ActionCancel: ResourceEvent; } } export declare class ResourceEvent { readonly resource: any; readonly type: T; constructor(resource: any, type: T); } export declare class ActionErrorResourceEvent extends ResourceEvent { readonly resource: any; readonly error: Error; readonly request: any; readonly response: any; constructor(resource: any, error: Error, request?: any, response?: any); } export declare class ActionEndResourceEvent extends ResourceEvent { readonly resource: any; readonly result: 'success' | 'cancel'; readonly request: any; readonly response: any; constructor(resource: any, result: 'success' | 'cancel', request?: any, response?: any); } export declare const eventFactory: { actionStart(resource: any): ResourceEvent<"ActionStart">; error(resource: any, err: Error, request?: any, response?: any): ActionErrorResourceEvent; cancel(resource: any): ResourceEvent<"ActionCancel">; success(resource: any): ResourceEvent<"ActionSuccess">; actionEnd(resource: any, result: "success" | "cancel", request?: any, response?: any): ActionEndResourceEvent; };