import { BrakesOptions } from './brakes-options.interface'; import { BrakesSnapshot } from './brakes-snapshot.interface'; export interface IBrakes { healthCheck(healthCheck: Function): any; fallback(healthCheck: Function): any; slaveCircuit(method: Function, fallback?: Function, options?: BrakesOptions): any; on(event: 'success', handler: (data: any) => void): any; on(event: 'timeout', handler: (data: any, e: Error, exec: Function) => void): any; on(event: 'failure', handler: (data: any, e: Error, exec: Function) => void): any; on(event: 'snapshot', handler: (snapshot: BrakesSnapshot) => void): any; on(event: 'circuitClosed', handler: () => void): any; on(event: 'circuitOpen', handler: () => void): any; on(event: 'healthCheckFailed', handler: (e: Error) => void): any; }