import { Transform, TransformCallback } from 'stream';
import type { DeltaCache } from './types';
interface N2kFilter {
    source?: string;
    pgn?: string;
}
interface N2kToSignalKOptions {
    app: {
        selfContext: string;
        isNmea2000OutAvailable: boolean;
        deltaCache: DeltaCache;
        on(event: string, cb: (...args: any[]) => void): void;
        emit(event: string, ...args: unknown[]): void;
        handleMessage(id: string, delta: object): void;
    };
    providerId: string;
    filters?: N2kFilter[];
    filtersEnabled?: boolean;
    useCanName?: boolean;
    [key: string]: unknown;
}
interface N2kMessage {
    src: string | number;
    pgn: string | number;
    timestamp: string;
}
export default class N2kToSignalK extends Transform {
    private readonly sourceMeta;
    private readonly notifications;
    private readonly options;
    private readonly app;
    private readonly filters?;
    private readonly n2kMapper;
    constructor(options: N2kToSignalKOptions);
    private isFiltered;
    _transform(chunk: N2kMessage, encoding: BufferEncoding, done: TransformCallback): void;
}
export {};
//# sourceMappingURL=n2k-signalk.d.ts.map