import { CdmAttributeContext, CdmCorpusContext, CdmObject, cdmObjectType, CdmOperationBase, ProjectionAttributeState, ProjectionAttributeStateSet, ProjectionContext, resolveOptions, VisitCallback } from '../../internal';
/**
 * Class to handle RenameAttributes operations
 */
export declare class CdmOperationRenameAttributes extends CdmOperationBase {
    private TAG;
    renameFormat: string;
    applyTo: string[];
    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;
    /**
     * Renames an attribute with the current renameFormat
     * @param projectionOwnerName The attribute name of projection owner (only available when the owner is an entity attribute or type attribute).
     * @param attributeState The attribute state
     */
    getNewAttributeName(projectionOwnerName: string, currentPAS: ProjectionAttributeState): string;
}
