import type { HIDDevice } from '../../hid-device.js';
import type { Dimension, KeyIndex } from '../../id.js';
import type { MXConsoleProperties } from '../../models/base.js';
import type { FillPanelDimensionsOptions, FillImageOptions, FillPanelOptions } from '../../types.js';
import type { MXConsoleImageWriter } from '../imageWriter/types.js';
import type { ButtonsLcdDisplayService } from './interface.js';
import type { ButtonLcdImagePacker } from '../imagePacker/interface.js';
export declare class DefaultButtonsLcdService implements ButtonsLcdDisplayService {
    #private;
    constructor(imageWriter: MXConsoleImageWriter, imagePacker: ButtonLcdImagePacker, device: Pick<HIDDevice, 'sendReports' | 'sendFeatureReport'>, deviceProperties: Readonly<MXConsoleProperties>);
    private getLcdButtonControls;
    private calculateLcdGridSpan;
    private calculateDimensionsFromGridSpan;
    calculateFillPanelDimensions(options: FillPanelDimensionsOptions | undefined): Dimension | null;
    clearPanel(): Promise<void>;
    clearKey(keyIndex: KeyIndex): Promise<void>;
    fillKeyColor(keyIndex: KeyIndex, r: number, g: number, b: number): Promise<void>;
    fillKeyBuffer(keyIndex: KeyIndex, imageBuffer: Uint8Array, options?: FillImageOptions): Promise<void>;
    fillPanelBuffer(imageBuffer: Uint8Array, options?: FillPanelOptions): Promise<void>;
    private fillImageRangeControl;
    private checkRGBValue;
    private checkSourceFormat;
}
//# sourceMappingURL=default.d.ts.map