import { HTMLTemplateResult, PropertyValueMap } from "lit";
import { FRoot } from "../../mixins/components/f-root/f-root";
import { FDiv } from "../f-div/f-div";
import { FIcon } from "../f-icon/f-icon";
import render, { contentSectionHeader, jumplinksItems, jumplinksSection } from "./render";
import { checkInView, getAccordionPanel, getTextPanel, handleSearch, handleSelection, scrollToSectionMethod, toggleLeftColumn, traverse } from "./handler";
import { FSelect } from "../f-select/f-select";
export type FDocumentData = Record;
export type FDocTextType = "heading" | "para";
export type FDocumentStatement = {
title: string;
data?: FDocumentData;
type?: FDocTextType;
open: boolean;
template?: (highlightText?: string | null) => HTMLTemplateResult;
};
export type FDocViewerContent = Record;
export declare class FDocumentViewer extends FRoot {
/**
* css loaded from scss file
*/
static styles: import("lit").CSSResult[];
/**
* @attribute json object for doc-previewer
*/
content: FDocViewerContent;
/** * mention required fields here for generating vue types */
readonly required: string[];
/**
* @attribute toggle jump-links
*/
jumpLinks: boolean;
/**
* @attribute toggle notch if jump-links present
*/
collapsibleJumpLinks: boolean;
/**
* @attribute toggle level-selector
*/
levelSelector: boolean;
fDocViewerScrollContent: FDiv;
leftColumn: FDiv;
notch: FDiv;
notchIcon: FIcon;
leftColumnWrapper: FDiv;
fSelectLevelSelector: FSelect;
indexingLevelSelected: null | number;
searchValue: string;
deepestLevel: number;
/**
* return an array consisting of indexing levels for filtering the content on the basis of levels.
*/
inndexingArray(levels: number): {
Indexing: string[];
};
/**
*
* @param index string or a number for unique identification
* @returns a special character for dynamic id creation
*/
refName(index: string | number): string;
/**
*
* @param index string or a number for unique identification
* @returns a special character for dynamic id creation
*/
sidebarRefName(index: string | number): string;
/**
*
* @param type para or heading
* @returns text state color
*/
getState(type?: FDocTextType): string;
/**
*
* @param type para or heading
* @returns text weight
*/
getTextWeight(type?: FDocTextType): string;
getAccordionPanel: typeof getAccordionPanel;
getTextPanel: typeof getTextPanel;
traverse: typeof traverse;
scrollToSectionMethod: typeof scrollToSectionMethod;
checkInView: typeof checkInView;
handleSelection: typeof handleSelection;
handleSearch: typeof handleSearch;
toggleLeftColumn: typeof toggleLeftColumn;
contentSectionHeader: typeof contentSectionHeader;
jumplinksSection: typeof jumplinksSection;
jumplinksItems: typeof jumplinksItems;
render: typeof render;
protected updated(changedProperties: PropertyValueMap | Map): void;
}
/**
* Required for typescript
*/
declare global {
interface HTMLElementTagNameMap {
"f-document-viewer": FDocumentViewer;
}
}