import "reflect-metadata";
export declare function part(target: Object, propertyKey: string | symbol): void;
export declare function listpart(target: Object, propertyKey: string | symbol): void;
export interface ModelElement {
    name: string;
    container: Object | null;
    propertyName: string;
    propertyIndex: number | undefined;
}
export declare class ModelElementImpl {
    name: string;
    container: Object;
    propertyName: string;
    propertyIndex: number | undefined;
}
export declare class PartArray<T extends ModelElement> extends Array<T> {
    name: string;
    _container: ModelElement;
    constructor(name: string, container: ModelElement, items: T[]);
    push(...items: T[]): number;
    removeContainer(index: number): void;
}
//# sourceMappingURL=ModelDecorators.d.ts.map