import { FetcherResult, OraclePriceEntry, ParseContext } from '../types';
export interface DolomiteOracleMeta {
    markets: {
        marketId: string;
        token: string;
    }[];
}
/**
 * One `getMarketPrice(marketId)` call per market. Dolomite oracle prices are
 * already USD-denominated, so there is no base-asset dependency — this fetcher
 * can run in the independent slot (no need to wait for Aave/base prices).
 */
export declare function getDolomiteCalls(chainId: string): FetcherResult<DolomiteOracleMeta>[];
/**
 * Dolomite price scale: `getMarketPrice` returns `USD * 10^(36 - tokenDecimals)`
 * (so `price * weiAmount = USD * 1e36`). Hence `priceUSD = value / 10^(36 - dec)`.
 */
export declare function parseDolomiteResults(data: any[], meta: DolomiteOracleMeta, context: ParseContext): OraclePriceEntry[];
export declare function getDolomiteAbi(): readonly [{
    readonly inputs: readonly [];
    readonly name: "getNumMarkets";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint256";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "getMarginRatio";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [];
    readonly name: "getEarningsRate";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly name: "marketId";
        readonly type: "uint256";
    }];
    readonly name: "getMarketTokenAddress";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "address";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly name: "marketId";
        readonly type: "uint256";
    }];
    readonly name: "getMarketIsClosing";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "bool";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly name: "marketId";
        readonly type: "uint256";
    }];
    readonly name: "getMarketTotalPar";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly name: "borrow";
            readonly type: "uint128";
        }, {
            readonly name: "supply";
            readonly type: "uint128";
        }];
        readonly name: "";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly name: "marketId";
        readonly type: "uint256";
    }];
    readonly name: "getMarketCurrentIndex";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly name: "borrow";
            readonly type: "uint112";
        }, {
            readonly name: "supply";
            readonly type: "uint112";
        }, {
            readonly name: "lastUpdate";
            readonly type: "uint32";
        }];
        readonly name: "";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly name: "marketId";
        readonly type: "uint256";
    }];
    readonly name: "getMarketPrice";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly name: "marketId";
        readonly type: "uint256";
    }];
    readonly name: "getMarketMarginPremium";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly name: "marketId";
        readonly type: "uint256";
    }];
    readonly name: "getMarketInterestRate";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly name: "number";
            readonly type: "uint256";
        }];
        readonly name: "account";
        readonly type: "tuple";
    }];
    readonly name: "getAccountBalances";
    readonly outputs: readonly [{
        readonly name: "markets";
        readonly type: "uint256[]";
    }, {
        readonly name: "tokens";
        readonly type: "address[]";
    }, {
        readonly components: readonly [{
            readonly name: "sign";
            readonly type: "bool";
        }, {
            readonly name: "value";
            readonly type: "uint128";
        }];
        readonly name: "pars";
        readonly type: "tuple[]";
    }, {
        readonly components: readonly [{
            readonly name: "sign";
            readonly type: "bool";
        }, {
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "weis";
        readonly type: "tuple[]";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly name: "number";
            readonly type: "uint256";
        }];
        readonly name: "account";
        readonly type: "tuple";
    }];
    readonly name: "getAccountStatus";
    readonly outputs: readonly [{
        readonly name: "";
        readonly type: "uint8";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly name: "number";
            readonly type: "uint256";
        }];
        readonly name: "account";
        readonly type: "tuple";
    }];
    readonly name: "getAdjustedAccountValues";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "supplyValue";
        readonly type: "tuple";
    }, {
        readonly components: readonly [{
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "borrowValue";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}, {
    readonly inputs: readonly [{
        readonly components: readonly [{
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly name: "number";
            readonly type: "uint256";
        }];
        readonly name: "account";
        readonly type: "tuple";
    }];
    readonly name: "getAccountRiskOverrideByAccount";
    readonly outputs: readonly [{
        readonly components: readonly [{
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "marginRatioOverride";
        readonly type: "tuple";
    }, {
        readonly components: readonly [{
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "liquidationSpreadOverride";
        readonly type: "tuple";
    }];
    readonly stateMutability: "view";
    readonly type: "function";
}];
/**
 * Dolomite Oracle Fetcher module
 */
export declare const dolomiteFetcher: {
    getCalls: typeof getDolomiteCalls;
    parse: typeof parseDolomiteResults;
    getAbi: typeof getDolomiteAbi;
};
//# sourceMappingURL=dolomite.d.ts.map