import * as React from 'react'; import { Texture as _Texture } from 'three'; export declare const IsObject: (url: unknown) => url is Record; type TextureArray = T extends string[] ? _Texture[] : never; type TextureRecord = T extends Record ? { [key in keyof T]: _Texture; } : never; type SingleTexture = T extends string ? _Texture : never; export type MappedTextureType> = TextureArray | TextureRecord | SingleTexture; export declare function useTexture>(input: Url, onLoad?: (texture: MappedTextureType) => void): MappedTextureType; export declare namespace useTexture { var preload: (url: string | string[]) => void; var clear: (input: string | string[]) => void; } export declare const Texture: ({ children, input, onLoad, }: { children?: (texture: ReturnType) => React.ReactNode; input: Parameters[0]; onLoad?: Parameters[1]; }) => React.JSX.Element; export {};