import { SettingsManager } from '../settings';
export declare abstract class BaseGateway<T extends Record<string, unknown> = Record<string, unknown>, P = Partial<T>> {
    abstract get shortName(): string;
    abstract get name(): string;
    protected abstract get baseConfig(): T;
    readonly config: T;
    settingsManager: SettingsManager;
    constructor(config?: P);
    private buildConfig;
    protected beforeConfig(config?: P): P | undefined;
    protected afterConfig(config: T): T;
}
