import { EStructuralFeature } from './estructural-feature';
import { EClass } from './eclass';
export interface EObject {
    eClass(): EClass;
    eContainer(): EObject;
    setEContainer(eContainer?: EObject, containingFeatureId?: number): void;
    /**
     * Invoked on setting a new reference with an EOpposite to enforce the removal
     * on the other end of the old reference.
     * @param otherEnd
     * @param featureId
     */
    eInverseRemove(otherEnd: EObject, featureId: number): void;
    /**
     * Invoked on setting a new reference with an EOpposite to enforce the addition
     * on the other end of the new reference.
     * @param otherEnd
     * @param featureId
     */
    eInverseAdd(otherEnd: EObject, featureId: number): void;
    eContainingFeature(): EStructuralFeature | undefined;
    eContents(): EObject[];
    eAllContents(): EObject[];
    /**
     * Encodes type name and EAttributes marked as ID into a String.
     */
    fullId(): string;
    eGet(feature: EStructuralFeature | number): any;
    eSet(feature: EStructuralFeature | number, value: any): void;
    eIsSet(feature: EStructuralFeature | number): boolean;
    eUnset(feature: EStructuralFeature | number): void;
    eIsProxy(): boolean;
    eSetProxy(proxy: boolean): void;
}
//# sourceMappingURL=eobject.d.ts.map