import { Transform, TransformCallback } from 'stream';
import type { CreateDebug, DeltaCache } from './types';
interface SimpleApp {
    selfContext: string;
    isNmea2000OutAvailable: boolean;
    deltaCache: DeltaCache;
    config: {
        configPath: string;
        settings: {
            loggingDirectory?: string;
            keepMostRecentLogsOnly?: boolean;
            logCountToKeep?: number;
        };
        getExternalHostname(): string;
        getExternalPort(): number;
    };
    on(event: string, cb: (...args: any[]) => void): void;
    emit(event: string, ...args: unknown[]): void;
    emitPropertyValue(name: string, value: unknown): void;
    setProviderStatus(id: string, msg: string): void;
    setProviderError(id: string, msg: string): void;
    handleMessage(id: string, delta: object): void;
    signalk: {
        emit(event: string, ...args: unknown[]): void;
    };
}
interface SubOptions {
    app: SimpleApp;
    providerId: string;
    emitPropertyValue?: (name: string, value: unknown) => void;
    onPropertyValues?: (name: string, callback: (value: unknown) => void) => void;
    createDebug?: CreateDebug;
    dataType?: string;
    type?: string;
    host?: string;
    port?: number;
    device?: string;
    interface?: string;
    command?: string;
    filename?: string;
    baudrate?: number;
    throttleRate?: number;
    overrideTimestamp?: boolean;
    removeNulls?: boolean;
    ignoredSentences?: string[];
    noThrottle?: boolean;
    validateChecksum?: boolean;
    useCanboatjs?: boolean;
    suppress0183event?: boolean;
    sentenceEvent?: string | string[];
    appendChecksum?: boolean;
    filters?: Array<{
        source?: string;
        pgn?: string;
    }>;
    filtersEnabled?: boolean;
    useCanName?: boolean;
    tcp?: boolean;
    [key: string]: unknown;
}
interface SimpleOptions {
    app: SimpleApp;
    providerId: string;
    type: string;
    logging?: boolean;
    subOptions: SubOptions;
    emitPropertyValue: (name: string, value: unknown) => void;
    onPropertyValues: (name: string, callback: (value: unknown) => void) => void;
    createDebug?: CreateDebug;
}
export default class Simple extends Transform {
    private readonly pipeline;
    constructor(options: SimpleOptions);
    _transform(msg: unknown, encoding: BufferEncoding, done: TransformCallback): void;
    end(): this;
}
export {};
//# sourceMappingURL=simple.d.ts.map