import type { StreamDeckLcdSegmentControlDefinition } from '../../controlDefinition.js';
import type { HIDDevice } from '../../hid-device.js';
import type { LcdSegmentDisplayService } from './interface.js';
import type { FillImageOptions, FillLcdImageOptions } from '../../types.js';
import type { EncodeJPEGHelper } from '../../models/base.js';
import { type PreparedBuffer } from '../../preparedBuffer.js';
import type { DeviceModelId } from '../../id.js';
export declare class StreamdeckDefaultLcdService implements LcdSegmentDisplayService {
    #private;
    constructor(encodeJPEG: EncodeJPEGHelper, device: HIDDevice, lcdControls: Readonly<StreamDeckLcdSegmentControlDefinition[]>, rotate: boolean, modelId: DeviceModelId);
    fillLcd(index: number, buffer: Uint8Array | Uint8ClampedArray, sourceOptions: FillImageOptions): Promise<void>;
    fillLcdRegion(index: number, x: number, y: number, imageBuffer: Uint8Array, sourceOptions: FillLcdImageOptions): Promise<void>;
    prepareFillLcdRegion(index: number, x: number, y: number, imageBuffer: Uint8Array, sourceOptions: FillLcdImageOptions, jsonSafe?: boolean): Promise<PreparedBuffer>;
    clearLcdSegment(index: number): Promise<void>;
    clearAllLcdSegments(): Promise<void>;
    private prepareFillControlRegion;
    private convertFillLcdBuffer;
}
//# sourceMappingURL=generic.d.ts.map