declare namespace Ext { export class Function { public alias?(object?: object | CallableFunction, methodName?: string): CallableFunction; public bind?(fn?: CallableFunction, scope?: object, args?: [], appendArgs?: boolean | number): CallableFunction; public bindCallback?(callback?: object, scope?: object, args?: object, delay?: object, caller?: object): CallableFunction; public clone?(method?: CallableFunction): CallableFunction; public createBarrier?(count?: number, fn?: CallableFunction, scope?: object): void; public createBuffered?(fn?: CallableFunction, buffer?: number, scope?: object, args?: []): CallableFunction; public createDelayed?(fn?: CallableFunction, delay?: number, scope?: object, args?: [], appendArgs?: boolean | number): CallableFunction; public createInterceptor?(origFn?: CallableFunction, newFn?: CallableFunction, scope?: object, returnValue?: object): CallableFunction; public createSequence?(originalFn?: CallableFunction, newFn?: CallableFunction, scope?: object): CallableFunction; public createThrottled?(fn?: CallableFunction, interval?: number, scope?: object): CallableFunction; public defer?(fn?: CallableFunction, millis?: number, scope?: object, args?: [], appendArgs?: boolean | number): number; public flexSetter?(setter?: CallableFunction): CallableFunction; public interceptAfter?(object?: object, methodName?: string, fn?: CallableFunction, scope?: object): CallableFunction; public interceptBefore?(object?: object, methodName?: string, fn?: CallableFunction, scope?: object): CallableFunction; public interval?(fn?: CallableFunction, millis?: number, scope?: object, args?: [], appendArgs?: boolean | number): number; public memoize?(fn?: CallableFunction, scope?: object, hashFn?: CallableFunction): CallableFunction; public pass?(fn?: CallableFunction, args?: [], scope?: object): CallableFunction; } }