/** @packageDocumentation
 * @module Views
 */
import { ColorDef, HydrateViewStateRequestProps, HydrateViewStateResponseProps, ViewAttachmentProps } from "@itwin/core-common";
import { ComputeDisplayTransformArgs, GetAttachmentViewportArgs, ViewState } from "../ViewState";
import { Id64String } from "@itwin/core-bentley";
import { IModelConnection } from "../IModelConnection";
import { Range3d, Transform } from "@itwin/core-geometry";
import { SceneContext } from "../ViewContext";
import { Viewport } from "../Viewport";
import { RenderMemory } from "../render/RenderMemory";
import { DisclosedTileTreeSet } from "../tile/internal";
/** Manages the set of ViewAttachment elements to be rendered by a SheetViewState.
 * Takes care of reloading them after ViewAttachment elements are modified, deleted, or inserted.
 */
export declare class SheetViewAttachments implements Disposable {
    private _impl;
    private _reload?;
    private _maxDepth;
    private _rendererArgs?;
    private _renderers?;
    get maxDepth(): number;
    getSecondaryViewports(): Iterable<Viewport>;
    private constructor();
    [Symbol.dispose](): void;
    static create(attachmentIds: Id64String[]): SheetViewAttachments;
    get attachmentIds(): readonly string[];
    clone(iModel: IModelConnection): SheetViewAttachments;
    preload(request: HydrateViewStateRequestProps): void;
    postload(response: HydrateViewStateResponseProps, iModel: IModelConnection): Promise<void>;
    reload(sheetModelId: Id64String, iModel: IModelConnection): Promise<boolean>;
    attachToViewport(args: {
        backgroundColor: ColorDef;
        sheetModelId: Id64String;
    }): void;
    detachFromViewport(): void;
    areAllTileTreesLoaded(displayedExtents: Range3d): boolean;
    discloseTileTrees(trees: DisclosedTileTreeSet): void;
    collectStatistics(stats: RenderMemory.Statistics): void;
    addToScene(context: SceneContext): void;
    getAttachmentViewport(args: GetAttachmentViewportArgs): Viewport | undefined;
    computeDisplayTransform(args: ComputeDisplayTransformArgs): Transform | undefined;
    /** Strictly for tests. */
    areAllAttachmentsLoaded(): boolean;
    /** Strictly for tests. */
    get attachments(): object[] | undefined;
    /** Strictly for tests. */
    get attachmentProps(): Array<Readonly<ViewAttachmentProps>>;
    /** Strictly for tests. */
    get attachmentInfos(): readonly Id64String[] | Array<{
        attachedView: ViewState;
    }>;
    private loadRenderers;
    private renderers;
    private findRendererById;
}
//# sourceMappingURL=SheetViewAttachments.d.ts.map