import { CdmAttribute, CdmAttributeContext, CdmAttributeContextReference, CdmCorpusContext, cdmDataFormat, CdmDataTypeReference, CdmObject, cdmObjectType, CdmProjection, ResolvedAttributeSetBuilder, ResolvedEntityReferenceSet, ResolvedTraitSetBuilder, resolveOptions, VisitCallback } from '../internal';
export declare class CdmTypeAttributeDefinition extends CdmAttribute {
    private TAG;
    static get objectType(): cdmObjectType;
    get isReadOnly(): boolean;
    set isReadOnly(val: boolean);
    get isNullable(): boolean;
    set isNullable(val: boolean);
    get sourceName(): string;
    set sourceName(val: string);
    get description(): string;
    set description(val: string);
    get displayName(): string;
    set displayName(val: string);
    get sourceOrdering(): number;
    set sourceOrdering(val: number);
    get valueConstrainedToList(): boolean;
    set valueConstrainedToList(val: boolean);
    get isPrimaryKey(): boolean;
    get maximumLength(): number;
    set maximumLength(val: number);
    get maximumValue(): string;
    set maximumValue(val: string);
    get minimumValue(): string;
    set minimumValue(val: string);
    get dataFormat(): cdmDataFormat;
    set dataFormat(val: cdmDataFormat);
    get defaultValue(): object;
    set defaultValue(val: object);
    dataType: CdmDataTypeReference;
    attributeContext?: CdmAttributeContextReference;
    private _projection;
    get projection(): CdmProjection;
    set projection(value: CdmProjection);
    private readonly traitToPropertyMap;
    constructor(ctx: CdmCorpusContext, name: string);
    /**
     * @internal
     */
    getProperty(propertyName: string): any;
    getObjectType(): cdmObjectType;
    copy(resOpt?: resolveOptions, host?: CdmObject): CdmObject;
    validate(): boolean;
    isDerivedFrom(base: string, resOpt?: resolveOptions): boolean;
    visit(pathFrom: string, preChildren: VisitCallback, postChildren: VisitCallback): boolean;
    /**
     * @internal
     */
    constructResolvedTraits(rtsb: ResolvedTraitSetBuilder, resOpt: resolveOptions): void;
    /**
     * @internal
     */
    constructResolvedAttributes(resOpt: resolveOptions, under?: CdmAttributeContext): ResolvedAttributeSetBuilder;
    /**
     * @deprecated
     * For internal use only.
     */
    fetchResolvedEntityReference(resOpt: resolveOptions): ResolvedEntityReferenceSet;
}
