import { MessageDefinition } from '../../core/types.js';
import { DialectParser } from '../../core/parser.js';

/**
 * Register a message definition. Called automatically when message modules are imported.
 */
declare function registerMessage(id: number, definition: MessageDefinition, crcExtra: number): void;
declare class MinimalParser extends DialectParser {
    constructor();
    loadDefinitions(): Promise<void>;
}
declare class MinimalSerializer {
    readonly parser: MinimalParser;
    constructor();
    serialize(message: Record<string, unknown> & {
        message_name: string;
    }): Uint8Array;
    completeMessage(message: Record<string, unknown> & {
        message_name: string;
    }): Record<string, unknown>;
    getSupportedMessages(): string[];
    supportsMessage(messageName: string): boolean;
}

export { MinimalParser, MinimalSerializer, registerMessage };
