const ImageTrait:
Trait<Defaulted<InputTypes<{ texture: (t?: ShaderSource) => | StorageSource | ParsedBundle<any> | ParsedModule<any> | LambdaSource<ShaderModule<any>> | TextureSource | null | undefined, width: (t?: string | number) => string | number | null | undefined, height: (t?: string | number) => string | number | null | undefined, fit: (s?: string) => Fit, repeat: (s?: string) => Repeat, align: (x?: AnchorLike) => [Anchor, Anchor] }>, Partial<InputTypes<{ texture: (t?: ShaderSource) => | StorageSource | ParsedBundle<any> | ParsedModule<any> | LambdaSource<ShaderModule<any>> | TextureSource | null | undefined, width: (t?: string | number) => string | number | null | undefined, height: (t?: string | number) => string | number | null | undefined, fit: (s?: string) => Fit, repeat: (s?: string) => Repeat, align: (x?: AnchorLike) => [Anchor, Anchor] }>>>,
OutputTypes<{ texture: (t?: ShaderSource) => | StorageSource | ParsedBundle<any> | ParsedModule<any> | LambdaSource<ShaderModule<any>> | TextureSource | null | undefined, width: (t?: string | number) => string | number | null | undefined, height: (t?: string | number) => string | number | null | undefined, fit: (s?: string) => Fit, repeat: (s?: string) => Repeat, align: (x?: AnchorLike) => [Anchor, Anchor] }>>
= (
input: A,
output: B,
hooks: UseHooks,
) => void
packages / layout / src / traits.ts