import * as plugins from './sl.receiver.plugins.js';
import type { ILogPackage, ILogPackageAuthenticated } from '../dist_ts_interfaces/index.js';
export type TValidatorFunction = (logPackage: ILogPackage) => Promise<boolean>;
export interface ISmartlogReceiverOptions {
    smartlogInstance: plugins.smartlog.Smartlog;
    passphrase: string;
    validatorFunction: TValidatorFunction;
}
/**
 * a class that receives smartlog packages
 */
export declare class SmartlogReceiver {
    passphrase: string;
    validatorFunction: TValidatorFunction;
    smartlogInstance: plugins.smartlog.Smartlog;
    constructor(smartlogReceiverOptions: ISmartlogReceiverOptions);
    /**
     * handles a authenticated log
     */
    handleAuthenticatedLog(authenticatedLogPackageArg: ILogPackageAuthenticated): Promise<{
        status: string;
    }>;
    /**
     * handles an array of authenticated logs
     * @param authenticatedLogsPackageArrayArg
     */
    handleManyAuthenticatedLogs(authenticatedLogsPackageArrayArg: ILogPackageAuthenticated[]): Promise<void>;
}
