import { MesgNum } from "./types/mesg_num.js";
interface FieldDefn {
    name: string;
    number: number;
    type: string;
}
interface Field {
    name: string;
    number: number;
    type: string;
    value: any;
}
interface ProcessedMesgDefn {
    localNum: number;
    mesgNum: MesgNum;
    fieldDefns: {
        number: number;
        size: number;
        baseType: number;
    }[];
}
export declare class Mesg {
    localNum: number;
    mesgNum: MesgNum;
    fields: Field[];
    static check(mesgName: string, mesgNum: MesgNum | undefined, fieldDefns: FieldDefn[] | undefined, values: {
        [key: string]: any;
    }): void;
    constructor(localNum: number, mesgName: string, values: {
        [key: string]: any;
    });
    get mesgDefn(): ProcessedMesgDefn;
    isSameDefn(mesgDefn: ProcessedMesgDefn): boolean;
    get defnRecord(): ArrayBuffer;
    get dataRecord(): ArrayBuffer;
}
export {};
