import { GameObjects } from 'phaser'; import { ExtractPropTypes } from 'vue'; import { gameObjectProps } from './props'; import { HasAlpha, HasDisplaySize } from './setters'; type GameObjectProps = ExtractPropTypes; declare function getDefinedPropKeys(): string[]; type ReactiveConfigRow = [string, () => T, (v: T) => void]; type RowBuilder = (key: string, getter: () => T, setter: (v: T) => void) => ReactiveConfigRow; declare function makeReactive(build: (row: RowBuilder) => ReactiveConfigRow[]): void; declare function defineGameObject(object: Phaser.GameObjects.GameObject, props: Readonly>): void; declare function makeGameObjectReactive(props: GameObjectProps, object: GameObjects.GameObject & GameObjects.Components.Transform & GameObjects.Components.Depth & GameObjects.Components.ScrollFactor & HasDisplaySize & Partial & GameObjects.Components.Visible & Partial & Partial & Partial): void; export { defineGameObject, getDefinedPropKeys, makeGameObjectReactive, makeReactive, };