export declare const Header = 2;
export declare const IsVolume: {
    readonly No: 0;
    readonly Yes: 1;
};
export type IsVolume = (typeof IsVolume)[keyof typeof IsVolume];
export declare const Zone: {
    readonly Broadcast: 0;
    readonly _01: 1;
    readonly _02: 2;
    readonly _03: 3;
    readonly _04: 4;
    readonly _05: 5;
    readonly _06: 6;
    readonly _07: 7;
    readonly _08: 8;
    readonly _09: 9;
    readonly _10: 10;
    readonly _11: 11;
    readonly _12: 12;
};
export type Zone = (typeof Zone)[keyof typeof Zone];
export declare const Command: {
    readonly Set_MP3_Repeat: 1;
    readonly Common: 4;
    readonly Get_Status_All_Zones: 5;
    readonly Set_Name_Zone: 6;
    readonly Set_Name_Source: 7;
    readonly Id: 8;
    readonly Recall_File: 10;
    readonly Save_File: 11;
    readonly Get_Status_All: 12;
    readonly Get_Zone_Name: 13;
    readonly Get_Zone_Source_Name: 14;
    readonly Firmware: 15;
    readonly Get_Status_Zones: 17;
    readonly Set_Volume: 21;
    readonly Set_Balance: 22;
    readonly Set_Treble: 23;
    readonly Set_Bass: 24;
    readonly Echo: 25;
    readonly Set_Name_Default: 28;
    readonly Set_Audio_Default: 30;
};
export type Command = (typeof Command)[keyof typeof Command];
export declare const Data: {
    readonly Off: 0;
    readonly Shuffle: 2;
    readonly MP3_FF: 10;
    readonly MP3_Play: 11;
    readonly MP3_Back: 12;
    readonly MP3_Stop: 13;
    readonly Mute_On: 30;
    readonly Mute_Off: 31;
    readonly All_Power_On: 85;
    readonly All_Power_Off: 86;
    readonly Zone_Power_On: 87;
    readonly Zone_Power_Off: 88;
    readonly DND_On: 89;
    readonly DND_Off: 90;
    readonly On: 255;
};
export type Data = (typeof Data)[keyof typeof Data];
export declare const Source: {
    readonly _01: 16;
    readonly _02: 17;
    readonly _03: 18;
    readonly _04: 19;
    readonly _05: 20;
    readonly _06: 21;
    readonly _07: 22;
    readonly _08: 23;
    readonly _09: 24;
    readonly _10: 25;
    readonly _11: 26;
    readonly _12: 27;
    readonly _13: 99;
    readonly _14: 100;
    readonly _15: 101;
    readonly _16: 102;
    readonly _17: 103;
    readonly _18: 104;
};
export type Source = (typeof Source)[keyof typeof Source];
export declare const PartySource: {
    readonly _01: 54;
    readonly _02: 55;
    readonly _03: 56;
    readonly _04: 57;
    readonly _05: 58;
    readonly _06: 59;
    readonly _07: 60;
    readonly _08: 61;
    readonly _09: 62;
    readonly _10: 63;
    readonly _11: 64;
    readonly _12: 65;
    readonly _13: 105;
    readonly _14: 106;
    readonly _15: 107;
    readonly _16: 108;
    readonly _17: 109;
    readonly _18: 110;
};
export type PartySource = (typeof PartySource)[keyof typeof PartySource];
export declare const MP3: {
    readonly Null: 0;
    readonly Back: 1;
    readonly Play: 2;
    readonly FF: 3;
    readonly Stop: 4;
    readonly Repeat_On: 5;
    readonly Repeat_Off: 6;
    readonly Shuffle: 7;
};
export type MP3 = (typeof MP3)[keyof typeof MP3];
type CommandProps = {
    zone?: Zone;
    command?: Command;
    data?: Data | Source | PartySource | Name | number;
};
type Name = number[];
export default class Protocol {
    header: typeof Header;
    is_volume: IsVolume;
    zone: Zone;
    command: Command;
    data: Data | Source | PartySource | Name | number;
    constructor({ zone, command, data }: CommandProps);
    get_command(): Buffer;
    static add_checksum(command: Buffer): Buffer;
    static calculate_checksum(command: Buffer): number;
    static validate_checksum(data: Buffer): boolean;
    static set_echo_mode(on: boolean): Protocol;
    static get_id(): Protocol;
    static get_firmware(): Protocol;
    static get_status_all(): Protocol;
    static get_status_zones(): Protocol;
    static get_status_all_zones(): Protocol;
    static set_party_mode(data: PartySource): Protocol;
    static set_party_mode_number(party_source: number): Protocol;
    static get_zone_name(zone: Zone): Protocol;
    static get_source_name(zone: Zone, data: Source): Protocol;
    static set_all_power(on: boolean): Protocol;
    static set_zone_power(zone: Zone, on: boolean): Protocol;
    static set_volume(zone: Zone, _volume: number): Protocol;
    static set_mute(zone: Zone, on: boolean): Protocol;
    static set_source(zone: Zone, data: Source): Protocol;
    static set_source_number(zone: Zone, source: number): Protocol;
    static set_dnd(zone: Zone, on: boolean): Protocol;
    static set_balance(zone: Zone, _balance: number): Protocol;
    static set_treble(zone: Zone, _treble: number): Protocol;
    static set_bass(zone: Zone, _bass: number): Protocol;
    static reset_zone_names(): Protocol;
    static reset_zone_audio(zone: Zone): Protocol;
    static set_zone_name(zone: Zone, name: string): Protocol;
    static set_zone_source_name(zone: Zone, source: Source, name: string): Protocol;
    static recall_file(file: number): Protocol;
    static save_file(file: number): Protocol;
    static mp3(action: MP3): Protocol;
}
export {};
//# sourceMappingURL=Protocol.d.ts.map