import * as Encoding from '../encoding.js';
import type { MultiZoneApplicationRequest, MultiZoneEffectType, MultiZoneExtendedApplicationRequest } from '../constants/index.js';
import type { Decoder } from './index.js';
export type ColorZoneResponse = Encoding.StateZone | Encoding.StateMultiZone;
export declare function GetColorZonesCommand(startIndex: number, endIndex: number, onResponse?: (response: ColorZoneResponse) => boolean | void): {
    type: 502;
    payload: Uint8Array<ArrayBufferLike>;
    decode: Decoder<ColorZoneResponse[]>;
    defaultResponseMode: "response";
};
export declare function SetColorZonesCommand(startIndex: number, endIndex: number, hue: number, saturation: number, brightness: number, kelvin: number, duration: number, apply: MultiZoneApplicationRequest): {
    type: 501;
    payload: Uint8Array<ArrayBufferLike>;
    decode: typeof Encoding.decodeStateMultiZone;
    defaultResponseMode: "ack-only";
};
export declare function GetMultiZoneEffectCommand(): {
    type: 507;
    decode: typeof Encoding.decodeStateMultiZoneEffect;
    defaultResponseMode: "response";
};
export declare function SetMultiZoneEffectCommand(instanceid: number, effectType: MultiZoneEffectType, speed: number, duration: bigint, parameters: Uint8Array): {
    type: 508;
    payload: Uint8Array<ArrayBufferLike>;
    decode: typeof Encoding.decodeStateMultiZoneEffect;
    defaultResponseMode: "ack-only";
};
export declare function GetExtendedColorZonesCommand(onResponse?: (response: Encoding.StateExtendedColorZones) => boolean | void): {
    type: 511;
    decode: Decoder<{
        zones_count: number;
        zone_index: number;
        colors_count: number;
        colors: Encoding.Color[];
    }[]>;
};
export declare function SetExtendedColorZonesCommand(duration: number, apply: MultiZoneExtendedApplicationRequest, zoneIndex: number, colorsCount: number, colors: Encoding.Color[]): {
    type: 510;
    payload: Uint8Array<ArrayBufferLike>;
    decode: typeof Encoding.decodeStateExtendedColorZones;
};
//# sourceMappingURL=multizone.d.ts.map