import type { Option } from '../types'; import type { Writable } from 'svelte/store'; import type * as THREE from 'three'; import type { EffectComposer } from 'three-stdlib'; export declare let createContext: (key?: any) => (value?: T | undefined) => T; export declare let useSize: (value?: Writable<{ width: number; height: number; }> | undefined) => Writable<{ width: number; height: number; }>; export declare let useRenderer: (value?: Option | undefined) => Option; export declare let useEffectComposer: (value?: Option> | undefined) => Option>; export declare let useScene: (value?: THREE.Scene | undefined) => THREE.Scene; export declare let useCamera: (value?: Option | undefined) => Option; export declare let useParent: (value?: THREE.Object3D | undefined) => THREE.Object3D; export declare let useRender: (value?: (() => void) | undefined) => () => void; export declare let useBeforeRender: (value?: Set<() => void> | undefined) => Set<() => void>; export declare let useInteractive: (value?: ((object: THREE.Object3D, listener: { intersect?(): unknown; select?(): unknown; }) => void) | undefined) => (object: THREE.Object3D, listener: { intersect?(): unknown; select?(): unknown; }) => void; export declare let link: >(object: T) => T;