import type { Fn, Maybe } from "@thi.ng/api";
import type { IGridLayout } from "@thi.ng/layout";
import type { ComponentOpts } from "../api.js";
import type { IMGUI } from "../gui.js";
export interface DialOpts extends ComponentOpts {
    min: number;
    max: number;
    step: number;
    value: number;
    fmt?: Fn<number, string>;
}
export declare const dial: ({ gui, layout, id, min, max, step, value, label, fmt, info, }: DialOpts) => Maybe<number>;
export interface DialGroupOpts extends Omit<DialOpts, "layout" | "value" | "label" | "info"> {
    layout: IGridLayout<any>;
    value: number[];
    label: string[];
    info?: string[];
    /**
     * If true (default), the dials will be arranged horizontally.
     */
    horizontal?: boolean;
    fmt?: Fn<number, string>;
}
export declare const dialGroup: (opts: DialGroupOpts) => number[] | undefined;
export declare const dialRaw: (gui: IMGUI, id: string, x: number, y: number, w: number, h: number, min: number, max: number, step: number, value: number, labelX: number, labelY: number, label?: string, fmt?: Fn<number, string>, info?: string) => Maybe<number>;
//# sourceMappingURL=dial.d.ts.map