export type SharedValue = { value: Value; get(): Value; set(value: Value | ((value: Value) => Value)): void; addListener: (listenerID: number, listener: (value: Value) => void) => void; removeListener: (listenerID: number) => void; modify: (modifier?: (value: T) => T, forceUpdate?: boolean) => void; }; export type SharedValueOrT = T | (Exclude extends P ? SharedValue> : T extends any ? SharedValue> : SharedValue>); export type WithSharedValue = T extends object ? WithSharedValueRecursive : Simplify>; type WithSharedValueRecursive = { [K in keyof T]: Exclude extends P ? Simplify> : boolean extends T[K] ? boolean | SharedValue | Extract : T[K] extends [number, number] ? [WithSharedValue, WithSharedValue] : WithSharedValue; }; type Simplify = T extends SharedValue ? never : T extends SharedValue ? T : { [K in keyof T]: T[K]; } & NonNullable; export {}; //# sourceMappingURL=ReanimatedTypes.d.ts.map