import { type ContractRunner } from "ethers";
import type { RedStoneAbi, RedStoneAbiInterface } from "../RedStoneAbi";
export declare class RedStoneAbi__factory {
    static readonly abi: readonly [{
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "blockTimestamp";
            readonly type: "uint256";
        }];
        readonly name: "BlockTimestampIsTooBig";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "CalldataMustHaveValidPayload";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "CalldataOverOrUnderFlow";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "CanNotPickMedianOfEmptyArray";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "CannotUpdateMoreThanOneDataFeed";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "dataFeedId";
            readonly type: "bytes32";
        }];
        readonly name: "DataFeedIdNotFound";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "dataFeedId";
            readonly type: "bytes32";
        }];
        readonly name: "DataFeedValueCannotBeZero";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "expectedDataTimestamp";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "dataPackageTimestamp";
            readonly type: "uint256";
        }];
        readonly name: "DataPackageTimestampMismatch";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "DataPackageTimestampMustNotBeZero";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "DataPackageTimestampsMustBeEqual";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "dataTimestamp";
            readonly type: "uint256";
        }];
        readonly name: "DataTimestampIsTooBig";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "receivedDataTimestampMilliseconds";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "lastDataTimestampMilliseconds";
            readonly type: "uint256";
        }];
        readonly name: "DataTimestampShouldBeNewerThanBefore";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "EachSignerMustProvideTheSameValue";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "EmptyCalldataPointersArr";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "GetDataServiceIdNotImplemented";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "IncorrectUnsignedMetadataSize";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "receivedSignersCount";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "requiredSignersCount";
            readonly type: "uint256";
        }];
        readonly name: "InsufficientNumberOfUniqueSigners";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidCalldataPointer";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "currentBlockTimestamp";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "lastUpdateTimestamp";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "minIntervalBetweenUpdates";
            readonly type: "uint256";
        }];
        readonly name: "MinIntervalBetweenUpdatesHasNotPassedYet";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "RedstonePayloadMustHaveAtLeastOneDataPackage";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "roundId";
            readonly type: "uint256";
        }];
        readonly name: "RoundNotFound";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "receivedSigner";
            readonly type: "address";
        }];
        readonly name: "SignerNotAuthorised";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "receivedTimestampSeconds";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "blockTimestamp";
            readonly type: "uint256";
        }];
        readonly name: "TimestampFromTooLongFuture";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "receivedTimestampSeconds";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "blockTimestamp";
            readonly type: "uint256";
        }];
        readonly name: "TimestampIsTooOld";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "UnsafeUint256ToUint80Conversion";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "UnsafeUintToIntConversion";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "signer";
            readonly type: "address";
        }];
        readonly name: "UpdaterNotAuthorised";
        readonly type: "error";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "int256";
            readonly name: "current";
            readonly type: "int256";
        }, {
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "roundId";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "updatedAt";
            readonly type: "uint256";
        }];
        readonly name: "AnswerUpdated";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint8";
            readonly name: "version";
            readonly type: "uint8";
        }];
        readonly name: "Initialized";
        readonly type: "event";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "values";
            readonly type: "uint256[]";
        }];
        readonly name: "aggregateValues";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "aggregator";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "decimals";
        readonly outputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "";
            readonly type: "uint8";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "description";
        readonly outputs: readonly [{
            readonly internalType: "string";
            readonly name: "";
            readonly type: "string";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "extractTimestampsAndAssertAllAreEqual";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "extractedTimestamp";
            readonly type: "uint256";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getAllowedTimestampDiffsInSeconds";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "maxDataAheadSeconds";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "maxDataDelaySeconds";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "signerAddress";
            readonly type: "address";
        }];
        readonly name: "getAuthorisedSignerIndex";
        readonly outputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "";
            readonly type: "uint8";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getBlockTimestamp";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getBlockTimestampFromLatestUpdate";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "blockTimestamp";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getDataFeedId";
        readonly outputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "";
            readonly type: "bytes32";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getDataFeedIds";
        readonly outputs: readonly [{
            readonly internalType: "bytes32[]";
            readonly name: "dataFeedIds";
            readonly type: "bytes32[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "dataFeedId";
            readonly type: "bytes32";
        }];
        readonly name: "getDataFeedIndex";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getDataServiceId";
        readonly outputs: readonly [{
            readonly internalType: "string";
            readonly name: "";
            readonly type: "string";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getDataTimestampFromLatestUpdate";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "lastDataTimestamp";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getLatestRoundId";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "latestRoundId";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getLatestRoundParams";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "latestRoundId";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint128";
            readonly name: "latestRoundDataTimestamp";
            readonly type: "uint128";
        }, {
            readonly internalType: "uint128";
            readonly name: "latestRoundBlockTimestamp";
            readonly type: "uint128";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getMinIntervalBetweenUpdates";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "roundId";
            readonly type: "uint256";
        }];
        readonly name: "getPackedTimestampsForRound";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "roundTimestamps";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getPackedTimestampsFromLatestUpdate";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "packedTimestamps";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getPriceFeedAdapter";
        readonly outputs: readonly [{
            readonly internalType: "contract IRedstoneAdapter";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getPriceFeedAdapterWithRounds";
        readonly outputs: readonly [{
            readonly internalType: "contract PriceFeedsAdapterWithRounds";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint80";
            readonly name: "requestedRoundId";
            readonly type: "uint80";
        }];
        readonly name: "getRoundData";
        readonly outputs: readonly [{
            readonly internalType: "uint80";
            readonly name: "roundId";
            readonly type: "uint80";
        }, {
            readonly internalType: "int256";
            readonly name: "answer";
            readonly type: "int256";
        }, {
            readonly internalType: "uint256";
            readonly name: "startedAt";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "updatedAt";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint80";
            readonly name: "answeredInRound";
            readonly type: "uint80";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "dataFeedId";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "roundId";
            readonly type: "uint256";
        }];
        readonly name: "getRoundDataFromAdapter";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "dataFeedValue";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint128";
            readonly name: "roundDataTimestamp";
            readonly type: "uint128";
        }, {
            readonly internalType: "uint128";
            readonly name: "roundBlockTimestamp";
            readonly type: "uint128";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getTimestampsFromLatestUpdate";
        readonly outputs: readonly [{
            readonly internalType: "uint128";
            readonly name: "dataTimestamp";
            readonly type: "uint128";
        }, {
            readonly internalType: "uint128";
            readonly name: "blockTimestamp";
            readonly type: "uint128";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getUniqueSignersThreshold";
        readonly outputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "";
            readonly type: "uint8";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "dataFeedId";
            readonly type: "bytes32";
        }];
        readonly name: "getValueForDataFeed";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "dataFeedId";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "roundId";
            readonly type: "uint256";
        }];
        readonly name: "getValueForDataFeedAndRound";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "dataFeedValue";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "dataFeedId";
            readonly type: "bytes32";
        }];
        readonly name: "getValueForDataFeedUnsafe";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "dataFeedValue";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32[]";
            readonly name: "dataFeedIds";
            readonly type: "bytes32[]";
        }];
        readonly name: "getValuesForDataFeeds";
        readonly outputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "";
            readonly type: "uint256[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32[]";
            readonly name: "requestedDataFeedIds";
            readonly type: "bytes32[]";
        }];
        readonly name: "getValuesForDataFeedsUnsafe";
        readonly outputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "values";
            readonly type: "uint256[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "initialize";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "latestAnswer";
        readonly outputs: readonly [{
            readonly internalType: "int256";
            readonly name: "";
            readonly type: "int256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "latestRound";
        readonly outputs: readonly [{
            readonly internalType: "uint80";
            readonly name: "";
            readonly type: "uint80";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "latestRoundData";
        readonly outputs: readonly [{
            readonly internalType: "uint80";
            readonly name: "roundId";
            readonly type: "uint80";
        }, {
            readonly internalType: "int256";
            readonly name: "answer";
            readonly type: "int256";
        }, {
            readonly internalType: "uint256";
            readonly name: "startedAt";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "updatedAt";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint80";
            readonly name: "answeredInRound";
            readonly type: "uint80";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "updater";
            readonly type: "address";
        }];
        readonly name: "requireAuthorisedUpdater";
        readonly outputs: readonly [];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "dataPackagesTimestamp";
            readonly type: "uint256";
        }];
        readonly name: "updateDataFeedsValues";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "dataFeedId";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "valueForDataFeed";
            readonly type: "uint256";
        }];
        readonly name: "validateDataFeedValueOnRead";
        readonly outputs: readonly [];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "dataFeedId";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "valueForDataFeed";
            readonly type: "uint256";
        }];
        readonly name: "validateDataFeedValueOnWrite";
        readonly outputs: readonly [];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "dataPackagesTimestamp";
            readonly type: "uint256";
        }];
        readonly name: "validateDataPackagesTimestampOnce";
        readonly outputs: readonly [];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "dataPackagesTimestamp";
            readonly type: "uint256";
        }];
        readonly name: "validateProposedDataPackagesTimestamp";
        readonly outputs: readonly [];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "receivedTimestampMilliseconds";
            readonly type: "uint256";
        }];
        readonly name: "validateTimestamp";
        readonly outputs: readonly [];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "version";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }];
    static createInterface(): RedStoneAbiInterface;
    static connect(address: string, runner?: ContractRunner | null): RedStoneAbi;
}
