import type { VerifiedFetchPlugin, PluginContext, PluginOptions } from '../index.ts';
import type { Logger } from '@libp2p/interface';
/**
 * Base class for verified-fetch plugins. This class provides a basic
 * implementation of the `VerifiedFetchPlugin` interface.
 *
 * Subclasses must implement the `id` property, the `canHandle`, and `handle`
 * methods.
 *
 * Subclasses may override the `codes` and `log` properties.
 */
export declare abstract class BasePlugin implements VerifiedFetchPlugin {
    readonly pluginOptions: PluginOptions;
    protected _log?: Logger;
    get log(): Logger;
    constructor(options: PluginOptions);
    abstract readonly id: string;
    abstract canHandle(context: PluginContext): boolean;
    abstract handle(context: PluginContext): Promise<Response>;
}
//# sourceMappingURL=plugin-base.d.ts.map