import { CdmAttributeContext, CdmCorpusContext, CdmDataTypeReference, CdmObject, CdmObjectDefinitionBase, cdmObjectType, ResolvedAttributeSetBuilder, ResolvedTraitSetBuilder, resolveOptions, VisitCallback } from '../internal';
export declare class CdmDataTypeDefinition extends CdmObjectDefinitionBase {
    private TAG;
    dataTypeName: string;
    extendsDataType?: CdmDataTypeReference;
    static get objectType(): cdmObjectType;
    constructor(ctx: CdmCorpusContext, dataTypeName: string, extendsDataType?: CdmDataTypeReference);
    getObjectType(): cdmObjectType;
    copy(resOpt?: resolveOptions, host?: CdmObject): CdmDataTypeDefinition;
    validate(): boolean;
    getName(): string;
    /**
     * @internal
     */
    getExtendsDataTypeRef(): CdmDataTypeReference;
    visit(pathFrom: string, preChildren: VisitCallback, postChildren: VisitCallback): boolean;
    isDerivedFrom(base: string, resOpt?: resolveOptions): boolean;
    /**
     * @internal
     */
    constructResolvedTraits(rtsb: ResolvedTraitSetBuilder, resOpt: resolveOptions): void;
    /**
     * @internal
     */
    constructResolvedAttributes(resOpt: resolveOptions, under?: CdmAttributeContext): ResolvedAttributeSetBuilder;
}
