import { CdmAttributeContext, CdmAttributeItem, CdmCorpusContext, CdmObject, cdmObjectType, CdmOperationBase, ProjectionAttributeStateSet, ProjectionContext, resolveOptions, VisitCallback } from '../../internal';
/**
 * Class to handle AddArtifactAttribute operations
 */
export declare class CdmOperationAddArtifactAttribute extends CdmOperationBase {
    private TAG;
    newAttribute: CdmAttributeItem;
    insertAtTop?: boolean;
    constructor(ctx: CdmCorpusContext);
    /**
     * @inheritdoc
     */
    copy(resOpt?: resolveOptions, host?: CdmObject): CdmObject;
    /**
     * @inheritdoc
     */
    getName(): string;
    /**
     * @inheritdoc
     */
    getObjectType(): cdmObjectType;
    /**
     * @inheritdoc
     */
    validate(): boolean;
    /**
     * @inheritdoc
     */
    visit(pathFrom: string, preChildren: VisitCallback, postChildren: VisitCallback): boolean;
    /**
     * @inheritdoc
     * @internal
     */
    appendProjectionAttributeState(projCtx: ProjectionContext, projOutputSet: ProjectionAttributeStateSet, attrCtx: CdmAttributeContext): ProjectionAttributeStateSet;
    private addNewArtifactAttributeState;
    /**
     * Pass through all the input projection attribute states if there are any.
     */
    private addAllPreviousAttributeStates;
}
