finpro
Version:
12 lines • 643 B
TypeScript
import FinproElement from './finpro-element';
declare type UpdateHandler = (prev?: unknown, next?: unknown) => void;
declare type NonUndefined<A> = A extends undefined ? never : A;
declare type UpdateHandlerFunctionKeys<T extends object> = {
[K in keyof T]-?: NonUndefined<T[K]> extends UpdateHandler ? K : never;
}[keyof T];
interface WatchOptions {
waitUntilFirstUpdate?: boolean;
}
export declare function watch(propertyName: string | string[], options?: WatchOptions): <ElemClass extends FinproElement>(proto: ElemClass, decoratedFnName: UpdateHandlerFunctionKeys<ElemClass>) => void;
export {};
//# sourceMappingURL=watch.d.ts.map