import { IObservable, IReader } from "@vscode/observables"; import { Context } from "react"; export type Readable = (reader: IReader) => T; export interface IReadableObj { /** * The reader of the component. */ read(reader: IReader): T; } export interface IPropertyTransformerFactory { /** If set, this context's value is passed to create() */ readonly _requiredContext?: Context; /** @param contextValue - value of _requiredContext if declared, otherwise undefined */ create(readable: Readable, contextValue: unknown): IReadableObj; } /** * Takes a value of type `T` and makes it available as `IObservable`. * When it changes, the component will not re-render. */ export declare function prop(): IPropertyTransformerFactory>; export declare namespace prop { var _a: typeof propConst; export var obs: typeof propObs; export { _a as const }; } /** * Takes a value of type `T` and makes it available as `T`. * When it changes, the component will re-render. */ declare function propConst(): IPropertyTransformerFactory; /** * Takes a value of type `T` or `IObservable` and makes it available as `IObservable`. * When it changes, the component will not re-render. */ declare function propObs(): IPropertyTransformerFactory, IObservable>; export {}; //# sourceMappingURL=IPropertyTransformer.d.ts.map