import type { RadioCodec, RadioMemory, RadioModelId, RadioProgram } from '@springfield/ham-radio-api';
import type { ILogLayer } from 'loglayer';
export interface BaofengMemorySegmentConfig {
    startAddress: number;
    endAddress: number;
}
export interface BaofengConfig {
    channelMemorySegment: BaofengMemorySegmentConfig;
    settingsMemorySegment: BaofengMemorySegmentConfig;
    memorySegmentSize: number;
    magicNumber: number[];
    receiveFrequencyOffset: number;
    transmitFrequencyOffset: number;
    receiveToneOffset: number;
    transmitToneOffset: number;
    powerOffset: number;
    channelSize: number;
    numberChannels: number;
    radioSettingsSchemaPath: string;
    channelSettingsSchemaPath: string;
}
export declare class BaofengCodec implements RadioCodec {
    private decoder;
    private encoder;
    constructor(radioModel: RadioModelId, config: BaofengConfig, logger: ILogLayer);
    decode(memory: RadioMemory): RadioProgram;
    encode(program: RadioProgram): RadioMemory;
}
