import { AttributeResolutionContext, CdmAttribute, CdmAttributeContext, CdmEntityDefinition, ResolvedAttributeSet, ResolvedTraitSet, resolveOptions, spewCatcher } from '../internal';
/**
     * @internal
     */
export declare class ResolvedAttribute {
    get isPrimaryKey(): boolean;
    get isReadOnly(): boolean;
    get isNullable(): boolean;
    get dataFormat(): string;
    get sourceName(): string;
    get sourceOrdering(): number;
    get displayName(): string;
    get description(): string;
    get maximumValue(): string;
    get minimumValue(): string;
    get maximumLength(): number;
    get valueConstrainedToList(): boolean;
    get defaultValue(): any;
    get creationSequence(): number;
    private get traitToPropertyMap();
    previousResolvedName: string;
    /**
     * @internal
     */
    resolvedTraits: ResolvedTraitSet;
    /**
     * @internal
     */
    resolvedAttributeCount: number;
    /**
     * @internal
     */
    owner: CdmEntityDefinition;
    insertOrder: number;
    attCtx: CdmAttributeContext;
    applierState?: any;
    arc: AttributeResolutionContext;
    private _target;
    private _resolvedName;
    private t2pm;
    constructor(resOpt: resolveOptions, target: ResolutionTarget, defaultName: string, attCtx: CdmAttributeContext);
    set resolvedName(newVal: string);
    get resolvedName(): string;
    set target(newVal: ResolutionTarget);
    get target(): ResolutionTarget;
    copy(): ResolvedAttribute;
    spew(resOpt: resolveOptions, to: spewCatcher, indent: string, nameSort: boolean): void;
    completeContext(resOpt: resolveOptions): void;
}
export declare type ResolutionTarget = (CdmAttribute | ResolvedAttributeSet);
