import { DecodedPNG } from "./png.js"; export interface Rgb { r: number; g: number; b: number; } export declare function parseHex(hex: string): Rgb; export declare class Canvas { readonly width: number; readonly height: number; private readonly data; constructor(width: number, height: number); private composite; fillRoundedRect(ax: number, ay: number, aw: number, ah: number, radius: number, color: Rgb, alpha: number): void; drawGlyphCell(atlas: DecodedPNG, srcX: number, srcW: number, ax: number, ay: number, color: Rgb, alpha: number): void; drawIcon(icon: DecodedPNG, ax: number, ay: number, size: number): void; toPNGBase64(): string; } export declare function loadIcon(iconPath: string): DecodedPNG | null; export interface TitleSegment { provider: string; bars: Array<{ pct: number; lightColor: string; darkColor: string; }>; iconPath: string | null; iconPathDark: string | null; } export interface TitleVariant { dividerColor: string; dividerAlpha: number; barBgColor: string; barBgAlpha: number; } export interface TitlePayload { segments: TitleSegment[]; scale: number; height: number; minWidth: number; paddingX: number; iconSize: number; iconBarGap: number; segmentGap: number; barWidth: number; barHeight: number; barGap: number; barRadius: number; barMinFill: number; light: TitleVariant; dark: TitleVariant; } interface RenderedImage { image: string; width: number; height: number; } export declare function renderTitleImage(payload: TitlePayload): { light: RenderedImage; dark: RenderedImage; }; export interface DropdownPayload { bars: Array<{ pct: number; lightColor: string; darkColor: string; }>; scale: number; barWidth: number; barHeight: number; barRadius: number; light: { barBgColor: string; barBgAlpha: number; }; dark: { barBgColor: string; barBgAlpha: number; }; } export declare function renderDropdownBars(payload: DropdownPayload): { images: string[]; width: number; height: number; }; export {};