import { Logger } from '../../utils/logger';
import { ILoggerInstance, IClientOptions } from '../../types';
export interface IReportEntry {
}
export interface IReportFilters {
    [param: string]: string | Date | number;
}
/**
 * Implementation of base report.
 */
export declare class AbstractReport<E extends IReportEntry, F extends IReportFilters> {
    private reportName;
    private token;
    private options;
    protected logger: Logger;
    constructor(reportName: string, token: string, loggerInstance: ILoggerInstance, options: IClientOptions);
    /**
     * This method returns entries from an report.
     *
     * @param filters - An [[IReportFilters]] object to filter the request.
     * @returns A promise that resolves to an array of [[IReportEntry]] objects.
     */
    getEntries(filters: F): Promise<E[]>;
}
