import { ArgumentValue, CdmArgumentCollection, CdmAttributeContext, CdmCorpusContext, CdmObjectReferenceBase, cdmObjectType, CdmTraitDefinition, ResolvedAttributeSetBuilder, ResolvedTraitSet, ResolvedTraitSetBuilder, resolveOptions, VisitCallback, CdmTraitReferenceBase } from '../internal';
export declare class CdmTraitReference extends CdmTraitReferenceBase {
    arguments: CdmArgumentCollection;
    isFromProperty: boolean;
    /**
     * @internal
     */
    resolvedArguments: boolean;
    constructor(ctx: CdmCorpusContext, trait: string | CdmTraitDefinition, simpleReference: boolean, hasArguments: boolean);
    getObjectType(): cdmObjectType;
    /**
     * @internal
     */
    copyRefObject(resOpt: resolveOptions, refTo: string | CdmTraitDefinition, simpleReference: boolean, host?: CdmObjectReferenceBase): CdmObjectReferenceBase;
    /**
     * @internal
     */
    visitRef(pathFrom: string, preChildren: VisitCallback, postChildren: VisitCallback): boolean;
    fetchFinalArgumentValues(resOpt: resolveOptions): Map<string, ArgumentValue>;
    /**
     * @internal
     */
    constructResolvedAttributes(resOpt: resolveOptions, under?: CdmAttributeContext): ResolvedAttributeSetBuilder;
    /**
     * @internal
     */
    fetchResolvedTraits(resOpt?: resolveOptions): ResolvedTraitSet;
    /**
     * @internal
     */
    constructResolvedTraits(rtsb: ResolvedTraitSetBuilder, resOpt: resolveOptions): void;
}
