import { providers } from "ethers";
import { BaseHTTPAdapter, BaseHTTPAdapterArgs } from "../../priceClient/adapters/baseAdapter";
import { BigNumber } from "../../utils";
import { EvmGasPriceEstimate } from "../types";
import { GasPriceEstimateOptions } from "../oracle";
type Polygon1559GasPrice = {
    maxPriorityFee: number | string;
    maxFee: number | string;
};
type GasStationArgs = BaseHTTPAdapterArgs & {
    chainId?: number;
    host?: string;
};
export declare class PolygonGasStation extends BaseHTTPAdapter {
    readonly chainId: number;
    constructor({ chainId, host, timeout, retries }?: GasStationArgs);
    getFeeData(strategy?: "safeLow" | "standard" | "fast"): Promise<EvmGasPriceEstimate>;
    protected isPolygon1559GasPrice(gasPrice: unknown): gasPrice is Polygon1559GasPrice;
}
export declare const MockPolygonGasStationBaseFee: () => BigNumber;
export declare const MockPolygonGasStationPriorityFee: () => BigNumber;
/**
 * @notice Returns the gas price suggested by the Polygon GasStation API or reconstructs it using
 * the eip1559() method as a fallback.
 * @param provider Ethers Provider.
 * @returns EvmGasPriceEstimate
 */
export declare function gasStation(provider: providers.Provider, opts: GasPriceEstimateOptions): Promise<EvmGasPriceEstimate>;
export {};
//# sourceMappingURL=polygon.d.ts.map