import { AnsiLogger } from 'matterbridge/logger';
import { CheckerT } from 'ts-interface-checker';
import { DysonMsg } from './dyson-types.js';
export type DysonMsgAny<T> = {
    [K in keyof T]: T[K] extends DysonMsg ? T[K] : never;
}[keyof T];
export type DysonMsgTypeName<T> = Extract<keyof T, string>;
export type DysonMsgCheckers<T> = {
    [K in DysonMsgTypeName<T>]: CheckerT<T[K]>;
};
export interface DysonMqttParserConfig<T> {
    prefix: string;
    checkers: DysonMsgCheckers<T>;
}
export declare function dysonMqttParse<T>(log: AnsiLogger, config: DysonMqttParserConfig<T>, topic: string, normalise: boolean, payload: Buffer): DysonMsgAny<T>;
//# sourceMappingURL=dyson-mqtt-parse.d.ts.map