/**
 * Various layer utilities for the Scene Viewer application.
 *
 * @internal
 * @internal
 */
import type { OriginName, ReadableOriginName } from "../../core/accessorSupport/types.js";
import type { OperationalLayer } from "../../layers/mixins/OperationalLayer.js";

/**
 * Reverts the value of a property to the value that was read
 * from a specific origin.
 *
 * @param layer - layer.
 * @param property - layer property to revert.
 * @param origin - to revert to.
 * @internal
 * @internal
 */
export function revertLayerProperty(layer: OperationalLayer, property: string, origin: ReadableOriginName): void;

/**
 * Get the origin of a property in the store.
 *
 * @param layer - layer.
 * @param property - layer property to revert.
 * @returns origin of property.
 * @internal
 * @internal
 */
export function originOfLayerProperty(layer: OperationalLayer, property: string): OriginName | null | undefined;

/**
 * @param url - URL to check.
 * @returns Promise resolving to a boolean indicating if the URL is for Gaussian Splat 3D Tiles.
 * @internal
 * @internal
 */
export function isGaussianSplat3DTiles(url: string): Promise<boolean>;