import { Signal } from '@preact/signals-core'; import { Object3D, RenderItem } from 'three'; import { Properties } from './properties/index.js'; export type WithReversePainterSortStableCache = { reversePainterSortStableCache?: number; }; export declare const reversePainterSortStableCacheKey: unique symbol; export declare const orderInfoKey: unique symbol; export declare function reversePainterSortStable(a: RenderItem, b: RenderItem): number; export declare const ElementType: { readonly Panel: 0; readonly Image: 1; readonly Content: 2; readonly Custom: 3; readonly Text: 4; }; export type ElementType = (typeof ElementType)[keyof typeof ElementType]; export type OrderInfo = { majorIndex: number; minorIndex: number; elementType: ElementType; patchIndex: number; instancedGroupDependencies?: Signal> | Record; }; export declare function compareOrderInfo(o1: OrderInfo | undefined, o2: OrderInfo | undefined): number; export type ZIndexProperties = { zIndex?: number; zIndexOffset?: number; }; export declare function setupOrderInfo(target: Signal, properties: Properties, zIndexKey: string, type: ElementType, instancedGroupDependencies: Signal> | Record | undefined, basisOrderInfoSignal: Signal, abortSignal: AbortSignal): void; export declare function setupRenderOrder(target: Object3D, root: { peek(): WithReversePainterSortStableCache; }, orderInfo: { value: OrderInfo | undefined; }): void;