import Segment = require('./segments/segment'); import Subsegment = require('./segments/attributes/subsegment'); export function captureFunc(name: string, fcn: (subsegment?: Subsegment) => T, parent?: Segment | Subsegment): T; export function captureAsyncFunc( name: string, fcn: (subsegment?: Subsegment) => T, parent?: Segment | Subsegment ): T; export function captureCallbackFunc( name: string, fcn: (...args: S) => T, parent?: Segment | Subsegment ): (...args: S) => T;