import { AdapterOptions, AddressListAdapter } from "../types";
import { Logger } from "../../utils";
export declare abstract class AbstractAdapter implements AddressListAdapter {
    readonly name: string;
    readonly path: string;
    readonly timeout: number;
    readonly retries: number;
    readonly throw: boolean;
    readonly logger?: Logger;
    constructor(name: string, path: string, opts?: Omit<AdapterOptions, "name" | "path">);
    abstract update(logger?: Logger): Promise<string[]>;
    protected sleep(ms: number): Promise<void>;
    protected fetch(name: string, url: string, timeout?: number, retries?: number): Promise<unknown>;
    protected error(error: unknown): Promise<string[]>;
}
