import { PropertyValues } from "lit"; import DraggingComponent from "./DraggingComponent"; import { SequencesType, Movement, Position, TilePositions, Region, Stats, RawPosition, SequencePosition, ConservationManager } from "../../types/types"; /** * Component to draw the main sequence alignment. */ declare class SequenceViewerComponent extends DraggingComponent { private tileCache; private residueTileCache; private tilingGridManager; private redrawStarted; private redrawnTiles; private colorSchemeManager; tileWidth: number; tileHeight: number; colorScheme: string; overlayConservation: boolean; props: SequenceViewerComponentProps; private _position?; sequences?: SequencesType; set position(position: RawPosition); get position(): Position; /** * Displays a highlight */ highlight?: Region | Array; /** * An array of features which can be clicked */ features?: Array; protected stats: Stats | undefined; private mouseOverFeatureIds; constructor(); setProp(key: string, value: unknown): void; getColorMap(): { name: string; map: Record | undefined; }; willUpdate(changedProperties: PropertyValues): void; firstUpdated(): void; disconnectedCallback(): void; handleZooomChanged(): void; drawScene(): void; getTilePositions(): TilePositions | null; renderTile: ({ row, column }: { row: number; column: number; }) => HTMLCanvasElement; drawTiles({ startXTile, startYTile, endXTile, endYTile }: TilePositions): void; drawHighlightedRegions(): void; drawHighlightedRegion(region: Region): void; movePosition: (m: Movement) => void; onPositionUpdate: (oldPos: RawPosition, newPos: RawPosition) => void; positionToSequence(pos: RawPosition): SequencePosition; sequencePositionToFeatureIds(sequencePosition: SequencePosition): string[]; updateScrollPosition: () => void; /** * Returns the position of the mouse position relative to the sequences */ currentPointerPosition(e: MouseEvent): SequencePosition; /** * Only sends an event if the actual function is set. */ sendEvent(name: string, data: unknown): void; private currentMouseSequencePosition?; onMouseMove: (event: MouseEvent) => void; onMouseLeave: () => void; onClick: (event: MouseEvent) => void; onDoubleClick: (event: MouseEvent) => void; componentWillUnmount(): void; updateTileSpecs(): void; render(): import("lit-html").TemplateResult<1>; updated(): void; } type SequenceViewerComponentProps = { /** * Show the custom ModBar */ showModBar: boolean; /** * Number of residues to cluster in one tile (x-axis) (default: 10) */ xGridSize: number; /** * Number of residues to cluster in one tile (y-axis) (default: 10) */ yGridSize: number; /** * Number of residues to prerender outside of the visible viewbox. */ cacheElements: number; /** * Whether to draw a border. */ border: boolean; /** * Color of the border. Name, hex or RGB value. */ borderColor: string; /** * Width of the border. */ borderWidth: number; /** * Color of the text residue letters (name, hex or RGB value) */ textColor: string; /** * Font to use when drawing the individual residues. */ textFont: string; /** * What should happen if content overflows. */ overflow: "hidden" | "auto" | "scroll"; /** * What should happen if x-axis content overflows (overwrites "overflow") */ overflowX: "hidden" | "auto" | "scroll" | "initial"; /** * What should happen if y-axis content overflows (overwrites "overflow") */ overflowY: "hidden" | "auto" | "scroll" | "initial"; /** * X Position of the scroll bar ("top or "bottom") */ scrollBarPositionX: "top" | "bottom"; /** * Y Position of the scroll bar ("left" or "right") */ scrollBarPositionY: "left" | "right"; conservation?: ConservationManager | null; /** * The conservation data can be used to define an overlay that * defines the opacity of the background color of each residue. */ overlayConservation?: boolean; sequenceDisableDragging?: boolean; }; export default SequenceViewerComponent; //# sourceMappingURL=SequenceViewer.d.ts.map