import { Part } from './part.js'; import { PartComponent } from './component.js'; /** * Automatically registers the type and name for a given part * Example: * ```ts * @part('my-part') * class MyPart extends Part{} * ``` * @param type Type of the part * @param name Label for the part */ export declare function part(type: string): (constructor: typeof Part) => void; /** * Automatically register the component and bind them to the Part property * Example: * ```ts * class MyPart extends Part { * @component(Transform) * public transform : Transform; * } * ``` * @param comp Component class for a given property */ export declare function component(comp: typeof PartComponent): (this: any, target: any, key: string) => void; interface IPropertiesOptions { type: any; value: any; noReset?: boolean; } /** * Automatically register the component and bind them to the Part property * Example: * ```ts * class MyComponent extends Component { * @property(Number) * public x : number; * } * ``` * @param comp Component class for a given property */ export declare function property(propOptions: IPropertiesOptions): (this: any, target: any, key: string) => void; export {};