/* * dotfiles - components.d.ts * * Created by Janis Hutz 03/22/2025, Licensed under the GPL V3 License * https://janishutz.com, development@janishutz.com * * */ import type { UIComponent, ResultElement } from "./rendering"; export interface App extends ResultElement { /** * The app start command that will be executed */ command: string; } // TODO: Finish export interface DictionaryEntry extends ResultElement { /** * Execute no command */ action: null; /** * The dictionary definition */ definition: string; } export interface CMDOutput extends ResultElement { /** * Stdout from the command that was run */ result: string; } export interface Calculation extends ResultElement { /** * THe calculation result */ result: string; } /* ************* * * UI Components * * ************* */ export interface LargeUIComponent extends UIComponent { /** * The number of items to display per line. Image size will automatically be scaled * based on width */ itemsPerLine: number; } export interface MediumUIComponent extends UIComponent {} export interface ListUIComponent extends UIComponent {} export interface DictionaryUIComponent extends UIComponent { elements: DictionaryEntry[]; } export interface CMDOutputUIComponent extends UIComponent { elements: CMDOutput[]; } export interface CalculationUIComponent extends UIComponent { elements: Calculation[]; }