import * as React from "react"; import { CircularProps } from "./Circular/Circular"; import { LinearProps } from "./Linear/Linear"; import { InputRefFunc } from "./SelectionHandler"; import { Annotation, CutSite, Highlight, NameRange, Primer, SeqType } from "./elements"; import { ExternalSelection, Selection } from "./selectionContext"; /** * This is the width in pixels of a character that's 12px * This will need to change whenever the css of the plasmid viewer text changes * just divide the width of some rectangular text by it's number of characters */ export declare const CHAR_WIDTH = 7.2; export interface CustomChildrenProps { circularProps: Omit; handleMouseEvent: React.MouseEventHandler; inputRef: InputRefFunc; linearProps: Omit; onUnmount: (ref: string) => void; } export interface SeqVizChildRefs { circular?: React.RefObject; linear?: React.RefObject; } interface SeqViewerContainerProps { annotations: Annotation[]; bpColors: { [key: number | string]: string; }; children?: (props: CustomChildrenProps) => React.ReactNode; compSeq: string; copyEvent: (event: React.KeyboardEvent) => boolean; cutSites: CutSite[]; height: number; highlights: Highlight[]; name: string; onSelection: (selection: Selection) => void; primers: Primer[]; refs?: SeqVizChildRefs; rotateOnScroll: boolean; search: NameRange[]; selectAllEvent: (event: React.KeyboardEvent) => boolean; selection?: ExternalSelection; seq: string; seqType: SeqType; showComplement: boolean; showIndex: boolean; targetRef?: React.LegacyRef; /** testSize is a forced height/width that overwrites anything from sizeMe. For testing */ testSize?: { height: number; width: number; }; translations: NameRange[]; viewer: "linear" | "circular" | "both" | "both_flip"; width: number; zoom: { circular: number; linear: number; }; } export interface SeqViewerContainerState { centralIndex: { circular: number; linear: number; linearScrollToken: number; setCentralIndex: (type: "LINEAR" | "CIRCULAR", value: number) => void; }; selection: Selection; } declare const SeqViewerContainerWithResize: React.FC>; export default SeqViewerContainerWithResize;