import { AttributeResolutionDirectiveSet, CdmAttributeContext, CdmDocumentDefinition, CdmEntityDefinition, CdmObject, DepthInfo, importsLoadStrategy, SymbolSet } from '../internal';
export declare class resolveOptions {
    wrtDoc?: CdmDocumentDefinition;
    directives?: AttributeResolutionDirectiveSet;
    shallowValidation?: boolean;
    importsLoadStrategy: importsLoadStrategy;
    resolvedAttributeLimit?: number;
    maxOrdinalForArrayExpansion: number;
    maxDepth: number;
    /**
     * @internal
     * Contains information about the depth that we are resolving at
     */
    depthInfo: DepthInfo;
    /**
     * @internal
     * when collecting resolved traits or attributes. prevents run away loops.
     * when references get copied, use previous resolution results if available (for use with copy method)
     */
    saveResolutionsOnCopy?: boolean;
    /**
     * @internal
     * set of set of symbol that the current chain of resolution depends upon.
     * used with importPriority to find what docs and versions of symbols to use
     */
    symbolRefSet?: SymbolSet;
    /**
     * @internal
     * forces symbolic references to be re-written to be the precisely located reference based on the wrtDoc
     */
    localizeReferencesFor?: CdmDocumentDefinition;
    /**
     * @internal
     * document currently being indexed
     */
    indexingDoc?: CdmDocumentDefinition;
    /**
     * @internal
     */
    fromMoniker?: string;
    /**
     * @internal
     */
    mapOldCtxToNewCtx?: Map<CdmAttributeContext, CdmAttributeContext>;
    /**
     * @internal
     */
    currentlyResolvingEntities: Set<CdmEntityDefinition>;
    /**
     * Indicates if resolution guidance was used at any point during resolution
     * @internal
     */
    usedResolutionGuidance: boolean;
    /**
     * @deprecated please use importsLoadStrategy instead.
     * when enabled, all the imports will be loaded and the references checked otherwise will be delayed until the symbols are required.
     */
    get strictValidation(): boolean | undefined;
    /**
     * @deprecated please use importsLoadStrategy instead.
     * when enabled, all the imports will be loaded and the references checked otherwise will be delayed until the symbols are required.
     */
    set strictValidation(strictValidation: boolean | undefined);
    /**
     * @internal
     * Indicates whether we are resolving inside of a circular reference, resolution is different in that case
     */
    inCircularReference: boolean;
    constructor(parameter?: CdmDocumentDefinition | CdmObject, directives?: AttributeResolutionDirectiveSet);
    /**
     * @internal
     */
    checkAttributeCount(amount: number): boolean;
    /**
     * @internal
     * Creates a copy of the resolve options object
     */
    copy(): resolveOptions;
    /**
     * Fetches the document that contains the owner of the CdmObject.
     */
    private fetchDocument;
}
