import { WriterContext, PropertyType } from '@gltf-transform/core'; declare interface IExtensibleProperty { } type DebugBreakPoint = boolean | "pointer:read"; export type Options = { debug?: boolean; breakpoint?: DebugBreakPoint; write?: boolean; }; export interface IOpaqueExtension { } export interface IOpaqueProperty { /** used by progressive texture extension to pass an extension between documents */ getExtensionDefinition(): object; /** register a reference so gltf-transform will not remove it in e.g. dedup * https://github.com/donmccurdy/glTF-Transform/issues/980#issuecomment-1585748202 */ setReference(name: string, value: any, attributes?: Record): void; } export interface IExtensionWriter { /** used by progressive texture extension to pass an extension between documents */ assignTo?(obj: object): any; write(context: WriterContext, prop: IExtensibleProperty): void; } export declare let currentGenerator: string; export declare function createOpaqueExtension(name: string, types: PropertyType | PropertyType[], opts?: Options): IOpaqueExtension; export {};