import React from 'react'; import { Instance } from 'mobx-state-tree'; import { MenuItem } from '@jbrowse/core/ui'; import PluginManager from '@jbrowse/core/PluginManager'; export interface BpOffset { refName?: string; index: number; offset: number; start?: number; end?: number; coord?: number; reversed?: boolean; assemblyName?: string; oob?: boolean; } export default function stateModelFactory(pluginManager: PluginManager): import("mobx-state-tree").IModelType<{ id: import("mobx-state-tree").IOptionalIType, [undefined]>; displayName: import("mobx-state-tree").IMaybe>; } & { id: import("mobx-state-tree").IOptionalIType, [undefined]>; type: import("mobx-state-tree").ISimpleType<"LinearGenomeView">; offsetPx: import("mobx-state-tree").IType; bpPerPx: import("mobx-state-tree").IType; displayedRegions: import("mobx-state-tree").IArrayType; start: import("mobx-state-tree").ISimpleType; end: import("mobx-state-tree").ISimpleType; reversed: import("mobx-state-tree").IOptionalIType, [undefined]>; } & { assemblyName: import("mobx-state-tree").ISimpleType; }, { setRefName(newRefName: string): void; }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>; tracks: import("mobx-state-tree").IArrayType; hideHeader: import("mobx-state-tree").IType; hideHeaderOverview: import("mobx-state-tree").IType; hideNoTracksActive: import("mobx-state-tree").IType; trackSelectorType: import("mobx-state-tree").IOptionalIType, [undefined]>; trackLabels: import("mobx-state-tree").IOptionalIType, [undefined]>; showCenterLine: import("mobx-state-tree").IOptionalIType, [undefined]>; showCytobandsSetting: import("mobx-state-tree").IOptionalIType, [undefined]>; showGridlines: import("mobx-state-tree").IType; } & { id: import("mobx-state-tree").IOptionalIType, [undefined]>; type: import("mobx-state-tree").ISimpleType<"LinearGenomeMultilevelView">; hideControls: import("mobx-state-tree").IType; isVisible: import("mobx-state-tree").IType; isAnchor: import("mobx-state-tree").IType; isOverview: import("mobx-state-tree").IType; limitBpPerPx: import("mobx-state-tree").IOptionalIType, [undefined]>; polygonPoints: import("mobx-state-tree").IOptionalIType, [undefined]>; }, { width: number; } & { menuItems(): MenuItem[]; } & { setDisplayName(name: string): void; setWidth(newWidth: number): void; } & { volatileWidth: number | undefined; minimumBlockWidth: number; draggingTrackId: string | undefined; volatileError: Error | undefined; afterDisplayedRegionsSetCallbacks: Function[]; scaleFactor: number; trackRefs: { [key: string]: any; }; coarseDynamicBlocks: import("@jbrowse/core/util/blockTypes").BaseBlock[]; coarseTotalBp: number; leftOffset: import("@jbrowse/plugin-linear-genome-view/dist/LinearGenomeView").BpOffset | undefined; rightOffset: import("@jbrowse/plugin-linear-genome-view/dist/LinearGenomeView").BpOffset | undefined; searchResults: import("@jbrowse/core/TextSearch/BaseResults").default[] | undefined; searchQuery: string | undefined; seqDialogDisplayed: boolean; } & { readonly width: number; readonly interRegionPaddingWidth: number; readonly assemblyNames: string[]; } & { readonly assemblyErrors: string; readonly assembliesInitialized: boolean; readonly initialized: boolean; readonly hasDisplayedRegions: boolean; readonly isSearchDialogDisplayed: boolean; readonly scaleBarHeight: number; readonly headerHeight: number; readonly trackHeights: any; readonly trackHeightsWithResizeHandles: any; readonly height: any; readonly totalBp: number; readonly maxBpPerPx: number; readonly minBpPerPx: number; readonly error: string | Error; readonly maxOffset: number; readonly minOffset: number; readonly displayedRegionsTotalPx: number; renderProps(): any; searchScope(assemblyName: string): { assemblyName: string; includeAggregateIndexes: boolean; tracks: import("mobx-state-tree").IMSTArray & import("mobx-state-tree").IStateTreeNode>; }; getTrack(id: string): any; rankSearchResults(results: import("@jbrowse/core/TextSearch/BaseResults").default[]): import("@jbrowse/core/TextSearch/BaseResults").default[]; rewriteOnClicks(trackType: string, viewMenuActions: MenuItem[]): void; readonly trackTypeActions: Map; } & { setShowCytobands(flag: boolean): void; setWidth(newWidth: number): void; setError(error: Error | undefined): void; toggleHeader(): void; toggleHeaderOverview(): void; toggleNoTracksActive(): void; toggleShowGridlines(): void; scrollTo(offsetPx: number): number; zoomTo(bpPerPx: number): number; setOffsets(left?: import("@jbrowse/plugin-linear-genome-view/dist/LinearGenomeView").BpOffset | undefined, right?: import("@jbrowse/plugin-linear-genome-view/dist/LinearGenomeView").BpOffset | undefined): void; setSearchResults(results?: import("@jbrowse/core/TextSearch/BaseResults").default[] | undefined, query?: string | undefined): void; setGetSequenceDialogOpen(open: boolean): void; setNewView(bpPerPx: number, offsetPx: number): void; horizontallyFlip(): void; showTrack(trackId: string, initialSnapshot?: {} | undefined, displayInitialSnapshot?: {} | undefined): any; hideTrack(trackId: string): number; } & { moveTrack(movingId: string, targetId: string): void; closeView(): void; toggleTrack(trackId: string): void; setTrackLabels(setting: "overlapping" | "offset" | "hidden"): void; toggleCenterLine(): void; setDisplayedRegions(regions: import("@jbrowse/core/util").Region[]): void; activateTrackSelector(): import("@jbrowse/core/util").Widget; getSelectedRegions(leftOffset?: import("@jbrowse/plugin-linear-genome-view/dist/LinearGenomeView").BpOffset | undefined, rightOffset?: import("@jbrowse/plugin-linear-genome-view/dist/LinearGenomeView").BpOffset | undefined): { start: number; end: number; regionNumber?: number | undefined; reversed?: boolean | undefined; refName: string; assemblyName: string; key: string; offsetPx: number; widthPx: number; variant?: string | undefined; isLeftEndOfDisplayedRegion?: boolean | undefined; }[]; afterDisplayedRegionsSet(cb: Function): void; horizontalScroll(distance: number): number; center(): void; showAllRegions(): void; showAllRegionsInAssembly(assemblyName?: string | undefined): void; setDraggingTrackId(idx?: string | undefined): void; setScaleFactor(factor: number): void; } & { slide: (viewWidths: number) => void; } & { zoom: (targetBpPerPx: number) => void; } & { readonly canShowCytobands: boolean; readonly showCytobands: boolean; readonly anyCytobandsExist: boolean; readonly cytobandOffset: number; } & { menuItems(): MenuItem[]; } & { readonly staticBlocks: import("@jbrowse/core/util/blockTypes").BlockSet; readonly dynamicBlocks: import("@jbrowse/core/util/blockTypes").BlockSet; readonly roundedDynamicBlocks: { start: number; end: number; regionNumber?: number | undefined; reversed?: boolean | undefined; refName: string; assemblyName: string; key: string; offsetPx: number; widthPx: number; variant?: string | undefined; isLeftEndOfDisplayedRegion?: boolean | undefined; }[]; readonly visibleLocStrings: string; readonly coarseVisibleLocStrings: string; } & { clearView(): void; setCoarseDynamicBlocks(blocks: import("@jbrowse/core/util/blockTypes").BlockSet): void; afterAttach(): void; } & { exportSvg(opts?: import("@jbrowse/plugin-linear-genome-view/dist/LinearGenomeView").ExportSvgOptions | undefined): Promise; moveTo(start?: import("@jbrowse/plugin-linear-genome-view/dist/LinearGenomeView").BpOffset | undefined, end?: import("@jbrowse/plugin-linear-genome-view/dist/LinearGenomeView").BpOffset | undefined): void; navToLocString(locString: string, optAssemblyName?: string | undefined): void; navTo(query: import("@jbrowse/plugin-linear-genome-view/dist/LinearGenomeView").NavLocation): void; navToMultiple(locations: import("@jbrowse/plugin-linear-genome-view/dist/LinearGenomeView").NavLocation[]): void; } & { rubberBandMenuItems(): MenuItem[]; bpToPx({ refName, coord, regionNumber, }: { refName: string; coord: number; regionNumber?: number | undefined; }): { index: number; offsetPx: number; } | undefined; centerAt(coord: number, refName: string, regionNumber: number): void; pxToBp(px: number): { coord: number; index: number; refName: string; oob: boolean; assemblyName: string; offset: number; start: number; end: number; reversed: boolean; }; readonly centerLineInfo: { coord: number; index: number; refName: string; oob: boolean; assemblyName: string; offset: number; start: number; end: number; reversed: boolean; } | undefined; } & { toggleControls(): void; toggleVisible(): void; toggleIsAnchor(): void; toggleIsOverview(): void; setLimitBpPerPx(limited: boolean, upperLimit?: number | undefined, lowerLimit?: number | undefined, apexUpperLimit?: number | undefined, apexLowerLimit?: number | undefined): void; setPolygonPoints(left: number, right: number, prevLeft: number, prevRight: number): void; zoomTo(bpPerPx: number): number; navToLocString(locString: string, optAssemblyName?: string | undefined): void; /** * moveIfAnchor is called when the user attempts to navigate using the rubberband functionality on the LGV * this navigation (move) is only performed on the anchor view (if anchor) and thus disabled if the user * attempts to rubber band nav on the 'sub' views. This way, we're able to navigate using the overview to * trigger the nav on the anchor (and because they're linked, the sub views as well) as well as on the * anchor track itself. */ moveIfAnchor(leftOffset: BpOffset, rightOffset: BpOffset): void; closeView(): void; addView(isAbove: boolean): void; } & { MiniControlsComponent(): React.FC; HeaderComponent(): React.FC; menuItems(): MenuItem[]; } & { rubberBandMenuItems(): MenuItem[]; }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>; export declare type LinearGenomeMultilevelViewStateModel = ReturnType; export declare type LinearGenomeMultilevelViewModel = Instance;