/* eslint-disable */ /* tslint:disable */ /** * This is an autogenerated file created by the Stencil compiler. * It contains typing information for all components that exist in this project. */ import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime"; import { IRegion, } from "./components/hex-editor/interfaces"; export namespace Components { interface FudgeHexEditor { /** * accepts and reads the given file, storing the result in the file variable * @param file */ "acceptFile": (file: File) => Promise; /** * weather or not to replace typical ASCII values with their ASCII value representation ( ex: 0x61 ==> ".a" ) * @type {boolean} * @memberof HexEditor */ "asciiInline": boolean; /** * the number of bits between separators on the bit display * @type {number} * @memberof HexEditor */ "bitsPerGroup": number; /** * the number of chunks between separators * @type {number} * @memberof HexEditor */ "bytesPerGroup": number; /** * the number of bytes to display per line * @type {number} * @memberof HexEditor */ "bytesPerLine": number; /** * definitions for each chunk to display when displayAsChunks is enabled * @type {number[]} * @memberof HexEditor */ "chunks": { title?: string; start: number; end: number; }[]; /** * displays the file as chunks (defined above) * @type {boolean} * @memberof HexEditor */ "displayAsChunks": boolean; /** * weather or not to display ASCII on the side * @type {boolean} * @memberof HexEditor */ "displayAscii": boolean; /** * weather or not to display binary * @type {boolean} * @memberof HexEditor */ "displayBin": boolean; /** * weather or not to display Hex * @type {boolean} * @memberof HexEditor */ "displayHex": boolean; /** * the mode of data entry: insert: inserts data between bytes overwrite: overwrites the currently selected byte readonly: no edits are possible * @type {("insert" | "overwrite" | "readonly")} * @memberof HexEditor */ "editType": "insert" | "overwrite" | "readonly"; /** * executes a search in the currently loaded file with the supplied parameters * @param text * @param searchType * @param range * @param searchByteCount * @param searchEndian * @memberof HexEditor */ "executeSearch": (text: string, searchType: "ascii" | "byte" | "integer" | "float", range?: [number, number], searchByteCount?: 2 | 1 | 4 | 8, searchEndian?: "big" | "little") => Promise; /** * fetches a Uint8Array of a given length at the given location * @param location where to fetch the data from * @param length how many bytes to load * @memberof HexEditor */ "getChunk": (location: number, length: number) => Promise<{ out: Uint8Array; meta: { added: [number, number][]; }; }>; /** * returns the file's metadata * @memberof HexEditor */ "getFileMetadata": () => Promise; /** * the number of lines to display at once * @type {number} * @memberof HexEditor */ "maxLines": number; /** * the mode of operation: region: used to highlight different regions. Hovering over a region displays a tooltip edit: regions are displayed in the background, allowing the user to edit directly noregion: regions are not displayed at all * @type {("region" | "edit" | "noregion")} * @memberof HexEditor */ "mode": "region" | "select" | "noregion"; /** * the number of regions to traverse * @type {number} * @memberof HexEditor */ "regionDepth": number; /** * the region data. Data will be displayed in the tooltip if mode is set to "region" * @type {IRegion[]} * @memberof HexEditor */ "regions": IRegion[]; /** * returns the edited file * @returns * @memberof HexEditor */ "saveFile": () => Promise; /** * sets the new cursor position * @param newCursorPosition * @memberof HexEditor */ "setCursorPosition": (newCursorPosition: number, bit?: number) => Promise; /** * sets the line number * @param newLineNumber * @memberof HexEditor */ "setLineNumber": (newLineNumber: number) => Promise; /** * sets the new selection bounds. * @param newSelection * @memberof HexEditor */ "setSelection": (newSelection: { start?: number; end?: number; startBit?: number; endBit?: number; }) => Promise; } interface FudgeHexTooltip { "active": boolean; "data": { [key: string]: string; } | string; "simpleText": string; } } declare global { interface HTMLFudgeHexEditorElement extends Components.FudgeHexEditor, HTMLStencilElement { } var HTMLFudgeHexEditorElement: { prototype: HTMLFudgeHexEditorElement; new (): HTMLFudgeHexEditorElement; }; interface HTMLFudgeHexTooltipElement extends Components.FudgeHexTooltip, HTMLStencilElement { } var HTMLFudgeHexTooltipElement: { prototype: HTMLFudgeHexTooltipElement; new (): HTMLFudgeHexTooltipElement; }; interface HTMLElementTagNameMap { "fudge-hex-editor": HTMLFudgeHexEditorElement; "fudge-hex-tooltip": HTMLFudgeHexTooltipElement; } } declare namespace LocalJSX { interface FudgeHexEditor { /** * weather or not to replace typical ASCII values with their ASCII value representation ( ex: 0x61 ==> ".a" ) * @type {boolean} * @memberof HexEditor */ "asciiInline"?: boolean; /** * the number of bits between separators on the bit display * @type {number} * @memberof HexEditor */ "bitsPerGroup"?: number; /** * the number of chunks between separators * @type {number} * @memberof HexEditor */ "bytesPerGroup"?: number; /** * the number of bytes to display per line * @type {number} * @memberof HexEditor */ "bytesPerLine"?: number; /** * definitions for each chunk to display when displayAsChunks is enabled * @type {number[]} * @memberof HexEditor */ "chunks"?: { title?: string; start: number; end: number; }[]; /** * displays the file as chunks (defined above) * @type {boolean} * @memberof HexEditor */ "displayAsChunks"?: boolean; /** * weather or not to display ASCII on the side * @type {boolean} * @memberof HexEditor */ "displayAscii"?: boolean; /** * weather or not to display binary * @type {boolean} * @memberof HexEditor */ "displayBin"?: boolean; /** * weather or not to display Hex * @type {boolean} * @memberof HexEditor */ "displayHex"?: boolean; /** * the mode of data entry: insert: inserts data between bytes overwrite: overwrites the currently selected byte readonly: no edits are possible * @type {("insert" | "overwrite" | "readonly")} * @memberof HexEditor */ "editType"?: "insert" | "overwrite" | "readonly"; /** * the number of lines to display at once * @type {number} * @memberof HexEditor */ "maxLines"?: number; /** * the mode of operation: region: used to highlight different regions. Hovering over a region displays a tooltip edit: regions are displayed in the background, allowing the user to edit directly noregion: regions are not displayed at all * @type {("region" | "edit" | "noregion")} * @memberof HexEditor */ "mode"?: "region" | "select" | "noregion"; /** * Emitted on the change of the cursor's position * @type {EventEmitter} * @memberof HexEditor */ "onHexCursorChanged"?: (event: CustomEvent) => void; /** * fired when the file's data changes * @type {EventEmitter} * @memberof HexEditor */ "onHexDataChanged"?: (event: CustomEvent) => void; /** * Emitted when the lineNumber changes * @type {EventEmitter} * @memberof HexEditor */ "onHexLineChanged"?: (event: CustomEvent) => void; /** * fired when the component loads */ "onHexLoaded"?: (event: CustomEvent) => void; /** * Emitted when the selection changes * @type {EventEmitter} * @memberof HexEditor */ "onHexSelectionChanged"?: (event: CustomEvent) => void; /** * the number of regions to traverse * @type {number} * @memberof HexEditor */ "regionDepth"?: number; /** * the region data. Data will be displayed in the tooltip if mode is set to "region" * @type {IRegion[]} * @memberof HexEditor */ "regions"?: IRegion[]; } interface FudgeHexTooltip { "active"?: boolean; "data"?: { [key: string]: string; } | string; "simpleText"?: string; } interface IntrinsicElements { "fudge-hex-editor": FudgeHexEditor; "fudge-hex-tooltip": FudgeHexTooltip; } } export { LocalJSX as JSX }; declare module "@stencil/core" { export namespace JSX { interface IntrinsicElements { "fudge-hex-editor": LocalJSX.FudgeHexEditor & JSXBase.HTMLAttributes; "fudge-hex-tooltip": LocalJSX.FudgeHexTooltip & JSXBase.HTMLAttributes; } } }