import type { LiveComponent, PropsWithChildren, Ref } from '@use-gpu/live'; import type { XYZ, ViewCuller, ViewUniforms } from '@use-gpu/core'; import type { ShaderModule } from '@use-gpu/shader'; import type { PointerEvent } from '../interact/event.d.cts'; import type { PassBinding } from '../pass/types.d.cts'; export declare const ViewContext: import("@use-gpu/live").LiveContext; export type ViewContextProps = { uniforms: ViewUniforms; binding: PassBinding; cull: ViewCuller; pick: (event: PointerEvent) => [XYZ, XYZ]; }; export type ViewProviderProps = PropsWithChildren<{ frame?: number; uniforms?: Record>; module?: ShaderModule; type?: ShaderModule; }>; export declare const ViewProvider: LiveComponent; export declare const useViewContext: () => ViewContextProps; export declare const useNoViewContext: () => void; export declare const useViewBinding: (uniforms: Record>, module?: ShaderModule, type?: ShaderModule) => { binding: { module: ShaderModule; bind: () => import("@use-gpu/core").StorageSource[]; }; upload: () => void; }; export declare const useViewUniforms: (maybeUniforms?: Record) => { pick: (event: PointerEvent) => [XYZ, XYZ]; cull: (center: import("gl-matrix").vec3 | number[], radius: number) => number | false; uniforms: ViewUniforms; };