/**
 * Generated by orval v7.8.0 🍺
 * Do not edit manually.
 * Saturn Indexer API
 * API for querying data from the Saturn bitcoin rune trading platform
 * OpenAPI spec version: 0.1.0
 */
type AddPoolShardsDataPrevTransaction = string | null;
interface AddPoolShardsData {
    /** @minimum 0 */
    shards: number;
    /** @minimum 0 */
    diffShards: number;
    /** @minimum 0 */
    btcFeePaid: number;
    /** @minimum 0 */
    totalBtcFeePaid: number;
    prevTransaction?: AddPoolShardsDataPrevTransaction;
}
type ApiErrorOneOf = {
    DBError: string;
};
type ApiErrorOneOfTwo = {
    NotFound: string;
};
type ApiErrorOneOfThree = {
    InvalidPubkey: string;
};
type ApiError = ApiErrorOneOf | ApiErrorOneOfTwo | ApiErrorOneOfThree;
interface AssetPair {
    token0Id: string;
    token1Id: string;
}
type BTCCollectionSymbol = string | null;
interface BTCCollection {
    id: string;
    name: string;
    displayName: string;
    symbol?: BTCCollectionSymbol;
    /** @minimum 0 */
    divisibility: number;
    /** @minimum 0 */
    batchSize: number;
    supply: string;
    createdAt: string;
    updatedAt: string;
}
type BitcoinTxStatus = typeof BitcoinTxStatus[keyof typeof BitcoinTxStatus];
declare const BitcoinTxStatus: {
    readonly pending: "pending";
    readonly confirmed: "confirmed";
    readonly failed: "failed";
    readonly rolled_back: "rolled_back";
};
interface CollectProtocolFeesData {
    positionId: string;
    token0Amount: string;
    token1Amount: string;
    /** @minimum 0 */
    btcFeePaid: number;
    /** @minimum 0 */
    totalBtcFeePaid: number;
}
type CollectionOneOfAllOfType = typeof CollectionOneOfAllOfType[keyof typeof CollectionOneOfAllOfType];
declare const CollectionOneOfAllOfType: {
    readonly btc: "btc";
};
type CollectionOneOfAllOf = {
    type: CollectionOneOfAllOfType;
};
type CollectionOneOf = BTCCollection & CollectionOneOfAllOf;
type CollectionOneOfFourAllOfType = typeof CollectionOneOfFourAllOfType[keyof typeof CollectionOneOfFourAllOfType];
declare const CollectionOneOfFourAllOfType: {
    readonly rune: "rune";
};
type CollectionOneOfFourAllOf = {
    type: CollectionOneOfFourAllOfType;
};
type CollectionOneOfFour = RuneCollection & CollectionOneOfFourAllOf;
type Collection = CollectionOneOf | CollectionOneOfFour;
interface CollectionPairStats {
    token0: Collection;
    token1: Collection;
    current_price: string;
    stats_per_period: CollectionPairStatsForPeriod[];
}
interface CollectionPairStatsForPeriod {
    period: Period;
    total_volume: string;
    /** @minimum 0 */
    transactions: number;
    fee_token0: string;
    fee_token1: string;
    price_change: PriceChange;
    high_price: string;
    low_price: string;
}
type CollectionSearchFilterName = string | null;
type CollectionSearchFilterSort = SortFieldSortFieldCollection[] | null;
type CollectionSearchFilterLimit = number | null;
type CollectionSearchFilterOffset = number | null;
type CollectionSearchFilterAddress = string | null;
/**
 * Struct used to filter collections.
 */
interface CollectionSearchFilter {
    name?: CollectionSearchFilterName;
    sort?: CollectionSearchFilterSort;
    limit?: CollectionSearchFilterLimit;
    offset?: CollectionSearchFilterOffset;
    address?: CollectionSearchFilterAddress;
}
interface FailedTransaction {
    id: string;
    status: StatusSchema;
    rollbackStatus: RollbackStatusSchema;
    blockHeight: string;
    poolPubkey: string;
    userPubkey: string;
    transactionType: TransactionType;
    createdAt: string;
    details: TransactionDetails;
}
interface FindManyByIdsRequest {
    ids: string[];
}
type GroupedPoolStatVolume24h = string | null;
type GroupedPoolStatVolumeDiff24h = string | null;
type GroupedPoolStatFees24h = string | null;
type GroupedPoolStatApy24h = number | null;
type GroupedPoolStatVolume7d = string | null;
type GroupedPoolStatFees7d = string | null;
type GroupedPoolStatApy7d = number | null;
interface GroupedPoolStat {
    id: string;
    tvlNow: string;
    tvl24hAgo: string;
    tvlDiff: string;
    volume24h?: GroupedPoolStatVolume24h;
    volumeDiff24h?: GroupedPoolStatVolumeDiff24h;
    fees24h?: GroupedPoolStatFees24h;
    apy24h?: GroupedPoolStatApy24h;
    volume7d?: GroupedPoolStatVolume7d;
    fees7d?: GroupedPoolStatFees7d;
    apy7d?: GroupedPoolStatApy7d;
    price: string;
    token0Amount: string;
    token1Amount: string;
    liquidity: string;
    feeRate: number;
}
type IdentifiableLiquidityPoolAllOf = {
    shards: IdentifiableLiquidityPoolShard[];
    token0Amount: string;
    token1Amount: string;
    liquidity: string;
    price: string;
};
type IdentifiableLiquidityPool = LiquidityPool & IdentifiableLiquidityPoolAllOf;
type IdentifiableLiquidityPoolShardAllOf = {
    pubkey: string;
    utxo: string;
};
type IdentifiableLiquidityPoolShard = LiquidityPoolShardJson & IdentifiableLiquidityPoolShardAllOf;
type InitializePoolDataPrevTransaction = string | null;
interface InitializePoolData {
    /** @minimum 0 */
    btcFeePaid: number;
    /** @minimum 0 */
    totalBtcFeePaid: number;
    prevTransaction?: InitializePoolDataPrevTransaction;
}
interface LiquidityPool {
    id: string;
    feeRate: number;
    config: LiquidityPoolConfig;
    invalid: boolean;
    assetPair: AssetPair;
    createdBlockHeight: string;
}
interface LiquidityPoolConfig {
    /** @minimum 0 */
    feeTier: number;
    /** @minimum 0 */
    shards: number;
    Padding: number[];
    token0: string;
    token1: string;
}
type LiquidityPoolShardJsonRuneUtxo = null | UtxoInfoJson;
interface LiquidityPoolShardJson {
    poolPubkey: string;
    runeUtxo?: LiquidityPoolShardJsonRuneUtxo;
    /** UTXOs holding BTC for this shard */
    btcUtxos: UtxoInfoJson[];
    /** Liquidity held in this shard */
    liquidity: string;
    /** How much BTC has accumulated as fees in this shard */
    protocolFeeOwed: string;
    kLast: string;
    kLastCounter: string;
    pendingToSend: PendingToSend[];
    swapBalance: SwapBalance;
}
/**
 * @minimum 0
 */
type MintEntityStart = number | null;
/**
 * @minimum 0
 */
type MintEntityEnd = number | null;
interface MintEntity {
    collection_id: string;
    /** @minimum 0 */
    start?: MintEntityStart;
    /** @minimum 0 */
    end?: MintEntityEnd;
    mintable: boolean;
    mints: string;
    cap: string;
    amount: string;
}
type MintableCollectionAllOf = {
    mint: MintEntity;
};
type MintableCollection = Collection & MintableCollectionAllOf;
type MintableCollectionSearchFilterName = string | null;
type MintableCollectionSearchFilterSort = SortFieldSortMintableFieldCollection[] | null;
type MintableCollectionSearchFilterLimit = number | null;
type MintableCollectionSearchFilterOffset = number | null;
/**
 * Struct used to filter mintable collections.
 */
interface MintableCollectionSearchFilter {
    name?: MintableCollectionSearchFilterName;
    sort?: MintableCollectionSearchFilterSort;
    limit?: MintableCollectionSearchFilterLimit;
    offset?: MintableCollectionSearchFilterOffset;
}
type NeedsConsolidationOneOfType = typeof NeedsConsolidationOneOfType[keyof typeof NeedsConsolidationOneOfType];
declare const NeedsConsolidationOneOfType: {
    readonly no: "no";
};
type NeedsConsolidationOneOf = {
    type: NeedsConsolidationOneOfType;
};
type NeedsConsolidationOneOfThreeType = typeof NeedsConsolidationOneOfThreeType[keyof typeof NeedsConsolidationOneOfThreeType];
declare const NeedsConsolidationOneOfThreeType: {
    readonly yes: "yes";
};
/**
 * Internal f64 represents mempool fee rate at moment of creation.
 */
type NeedsConsolidationOneOfThree = {
    /** Internal f64 represents mempool fee rate at moment of creation. */
    value: number;
    type: NeedsConsolidationOneOfThreeType;
};
type NeedsConsolidation = NeedsConsolidationOneOf | NeedsConsolidationOneOfThree;
interface OHLCData {
    /** @minimum 0 */
    id: number;
    pair: AssetPair;
    openPrice: string;
    highPrice: string;
    lowPrice: string;
    closePrice: string;
    volume: string;
    feeToken0: string;
    feeToken1: string;
    startTimestamp: string;
    endTimestamp: string;
    granularity: OHLCGranularity;
    /** @minimum 0 */
    transactions: number;
    createdAt: string;
    updatedAt: string;
}
type OHLCGranularity = typeof OHLCGranularity[keyof typeof OHLCGranularity];
declare const OHLCGranularity: {
    readonly '1m': "1m";
    readonly '5m': "5m";
    readonly '15m': "15m";
    readonly '30m': "30m";
    readonly '1h': "1h";
    readonly '4h': "4h";
    readonly '1d': "1d";
    readonly '1w': "1w";
};
type PaginationResponseVecCollectionResponseItemOneOfAllOfType = typeof PaginationResponseVecCollectionResponseItemOneOfAllOfType[keyof typeof PaginationResponseVecCollectionResponseItemOneOfAllOfType];
declare const PaginationResponseVecCollectionResponseItemOneOfAllOfType: {
    readonly btc: "btc";
};
type PaginationResponseVecCollectionResponseItemOneOfAllOf = {
    type: PaginationResponseVecCollectionResponseItemOneOfAllOfType;
};
type PaginationResponseVecCollectionResponseItemOneOf = BTCCollection & PaginationResponseVecCollectionResponseItemOneOfAllOf;
type PaginationResponseVecCollectionResponseItemOneOfFourAllOfType = typeof PaginationResponseVecCollectionResponseItemOneOfFourAllOfType[keyof typeof PaginationResponseVecCollectionResponseItemOneOfFourAllOfType];
declare const PaginationResponseVecCollectionResponseItemOneOfFourAllOfType: {
    readonly rune: "rune";
};
type PaginationResponseVecCollectionResponseItemOneOfFourAllOf = {
    type: PaginationResponseVecCollectionResponseItemOneOfFourAllOfType;
};
type PaginationResponseVecCollectionResponseItemOneOfFour = RuneCollection & PaginationResponseVecCollectionResponseItemOneOfFourAllOf;
type PaginationResponseVecCollectionResponseItem = PaginationResponseVecCollectionResponseItemOneOf | PaginationResponseVecCollectionResponseItemOneOfFour;
interface PaginationResponseVecCollection {
    response: PaginationResponseVecCollectionResponseItem[];
    offset: number;
}
type PaginationResponseVecMintableCollectionResponseItemAllOf = {
    mint: MintEntity;
};
type PaginationResponseVecMintableCollectionResponseItem = Collection & PaginationResponseVecMintableCollectionResponseItemAllOf;
interface PaginationResponseVecMintableCollection {
    response: PaginationResponseVecMintableCollectionResponseItem[];
    offset: number;
}
type PaginationResponseVecPoolStatsResponseItemTvlNow = string | null;
type PaginationResponseVecPoolStatsResponseItemTvl24hAgo = string | null;
type PaginationResponseVecPoolStatsResponseItemTvlDiff = string | null;
type PaginationResponseVecPoolStatsResponseItemVolume24h = string | null;
type PaginationResponseVecPoolStatsResponseItemVolumePrev24h = string | null;
type PaginationResponseVecPoolStatsResponseItemVolumeDiff24h = string | null;
type PaginationResponseVecPoolStatsResponseItemFees24h = string | null;
type PaginationResponseVecPoolStatsResponseItemApy24h = string | null;
type PaginationResponseVecPoolStatsResponseItemVolume7d = string | null;
type PaginationResponseVecPoolStatsResponseItemFees7d = string | null;
type PaginationResponseVecPoolStatsResponseItemApy7d = string | null;
type PaginationResponseVecPoolStatsResponseItem = {
    poolId: string;
    token0: Collection;
    token1: Collection;
    token0Amount: string;
    token1Amount: string;
    liquidity: string;
    price: string;
    tvlNow?: PaginationResponseVecPoolStatsResponseItemTvlNow;
    tvl24hAgo?: PaginationResponseVecPoolStatsResponseItemTvl24hAgo;
    tvlDiff?: PaginationResponseVecPoolStatsResponseItemTvlDiff;
    volume24h?: PaginationResponseVecPoolStatsResponseItemVolume24h;
    volumePrev24h?: PaginationResponseVecPoolStatsResponseItemVolumePrev24h;
    volumeDiff24h?: PaginationResponseVecPoolStatsResponseItemVolumeDiff24h;
    fees24h?: PaginationResponseVecPoolStatsResponseItemFees24h;
    apy24h?: PaginationResponseVecPoolStatsResponseItemApy24h;
    volume7d?: PaginationResponseVecPoolStatsResponseItemVolume7d;
    fees7d?: PaginationResponseVecPoolStatsResponseItemFees7d;
    apy7d?: PaginationResponseVecPoolStatsResponseItemApy7d;
    /** @minimum 0 */
    feeRate: number;
};
interface PaginationResponseVecPoolStats {
    response: PaginationResponseVecPoolStatsResponseItem[];
    offset: number;
}
type PaginationResponseVecPoolsStatsByTokensResponseItemVolume24h = string | null;
type PaginationResponseVecPoolsStatsByTokensResponseItemVolumeDiff24h = string | null;
type PaginationResponseVecPoolsStatsByTokensResponseItemVolume7d = string | null;
type PaginationResponseVecPoolsStatsByTokensResponseItemFees24h = string | null;
type PaginationResponseVecPoolsStatsByTokensResponseItemSmaller24hApy = string | null;
type PaginationResponseVecPoolsStatsByTokensResponseItemLarger24hApy = string | null;
type PaginationResponseVecPoolsStatsByTokensResponseItemSmaller7dApy = string | null;
type PaginationResponseVecPoolsStatsByTokensResponseItemLarger7dApy = string | null;
type PaginationResponseVecPoolsStatsByTokensResponseItem = {
    token0: Collection;
    token1: Collection;
    volume24h?: PaginationResponseVecPoolsStatsByTokensResponseItemVolume24h;
    volumeDiff24h?: PaginationResponseVecPoolsStatsByTokensResponseItemVolumeDiff24h;
    volume7d?: PaginationResponseVecPoolsStatsByTokensResponseItemVolume7d;
    fees24h?: PaginationResponseVecPoolsStatsByTokensResponseItemFees24h;
    tvlNow: string;
    tvl24hAgo: string;
    tvlDiff: string;
    smaller24hApy?: PaginationResponseVecPoolsStatsByTokensResponseItemSmaller24hApy;
    larger24hApy?: PaginationResponseVecPoolsStatsByTokensResponseItemLarger24hApy;
    smaller7dApy?: PaginationResponseVecPoolsStatsByTokensResponseItemSmaller7dApy;
    larger7dApy?: PaginationResponseVecPoolsStatsByTokensResponseItemLarger7dApy;
    pools: GroupedPoolStat[];
};
interface PaginationResponseVecPoolsStatsByTokens {
    response: PaginationResponseVecPoolsStatsByTokensResponseItem[];
    offset: number;
}
type PaginationResponseVecPositionResultResponseItemEstimatedApy24h = string | null;
type PaginationResponseVecPositionResultResponseItemEstimatedApy7d = string | null;
type PaginationResponseVecPositionResultResponseItem = {
    position: Position;
    state: PositionState;
    historicalGainPct: string;
    totalIncrementToken0Amount: number;
    totalIncrementToken1Amount: number;
    estimatedApy24h?: PaginationResponseVecPositionResultResponseItemEstimatedApy24h;
    estimatedApy7d?: PaginationResponseVecPositionResultResponseItemEstimatedApy7d;
};
interface PaginationResponseVecPositionResult {
    response: PaginationResponseVecPositionResultResponseItem[];
    offset: number;
}
type PaginationResponseVecTransactionResponsePropertyItem = SuccessfulTransaction | FailedTransaction;
interface PaginationResponseVecTransaction {
    response: PaginationResponseVecTransactionResponsePropertyItem[];
    offset: number;
}
type PaginationResponseVecTransactionResponseResponseItem = {
    transaction: Transaction;
    token0: Collection;
    token1: Collection;
};
interface PaginationResponseVecTransactionResponse {
    response: PaginationResponseVecTransactionResponseResponseItem[];
    offset: number;
}
interface PendingToSend {
    address: TaprootAddress;
    amount: string;
}
type Period = typeof Period[keyof typeof Period];
declare const Period: {
    readonly Day: "Day";
    readonly Week: "Week";
    readonly Month: "Month";
};
type PoolSearchFilterName = string[] | null;
type PoolSearchFilterMinTvl = number | null;
type PoolSearchFilterMinVolume = number | null;
type PoolSearchFilterSort = SortFieldSortFieldPool[] | null;
type PoolSearchFilterLimit = number | null;
type PoolSearchFilterOffset = number | null;
type PoolSearchFilterUserAddress = string | null;
interface PoolSearchFilter {
    name?: PoolSearchFilterName;
    minTvl?: PoolSearchFilterMinTvl;
    minVolume?: PoolSearchFilterMinVolume;
    sort?: PoolSearchFilterSort;
    limit?: PoolSearchFilterLimit;
    offset?: PoolSearchFilterOffset;
    userAddress?: PoolSearchFilterUserAddress;
}
type PoolStatsTvlNow = string | null;
type PoolStatsTvl24hAgo = string | null;
type PoolStatsTvlDiff = string | null;
type PoolStatsVolume24h = string | null;
type PoolStatsVolumePrev24h = string | null;
type PoolStatsVolumeDiff24h = string | null;
type PoolStatsFees24h = string | null;
type PoolStatsApy24h = string | null;
type PoolStatsVolume7d = string | null;
type PoolStatsFees7d = string | null;
type PoolStatsApy7d = string | null;
interface PoolStats {
    poolId: string;
    token0: Collection;
    token1: Collection;
    token0Amount: string;
    token1Amount: string;
    liquidity: string;
    price: string;
    tvlNow?: PoolStatsTvlNow;
    tvl24hAgo?: PoolStatsTvl24hAgo;
    tvlDiff?: PoolStatsTvlDiff;
    volume24h?: PoolStatsVolume24h;
    volumePrev24h?: PoolStatsVolumePrev24h;
    volumeDiff24h?: PoolStatsVolumeDiff24h;
    fees24h?: PoolStatsFees24h;
    apy24h?: PoolStatsApy24h;
    volume7d?: PoolStatsVolume7d;
    fees7d?: PoolStatsFees7d;
    apy7d?: PoolStatsApy7d;
    /** @minimum 0 */
    feeRate: number;
}
type PoolsStatsByTokensVolume24h = string | null;
type PoolsStatsByTokensVolumeDiff24h = string | null;
type PoolsStatsByTokensVolume7d = string | null;
type PoolsStatsByTokensFees24h = string | null;
type PoolsStatsByTokensSmaller24hApy = string | null;
type PoolsStatsByTokensLarger24hApy = string | null;
type PoolsStatsByTokensSmaller7dApy = string | null;
type PoolsStatsByTokensLarger7dApy = string | null;
interface PoolsStatsByTokens {
    token0: Collection;
    token1: Collection;
    volume24h?: PoolsStatsByTokensVolume24h;
    volumeDiff24h?: PoolsStatsByTokensVolumeDiff24h;
    volume7d?: PoolsStatsByTokensVolume7d;
    fees24h?: PoolsStatsByTokensFees24h;
    tvlNow: string;
    tvl24hAgo: string;
    tvlDiff: string;
    smaller24hApy?: PoolsStatsByTokensSmaller24hApy;
    larger24hApy?: PoolsStatsByTokensLarger24hApy;
    smaller7dApy?: PoolsStatsByTokensSmaller7dApy;
    larger7dApy?: PoolsStatsByTokensLarger7dApy;
    pools: GroupedPoolStat[];
}
interface Position {
    id: string;
    invalid: boolean;
    poolId: string;
    owner: string;
}
interface PositionData {
    positionId: string;
    token0Amount: string;
    token1Amount: string;
    /** @minimum 0 */
    btcFeePaid: number;
    /** @minimum 0 */
    totalBtcFeePaid: number;
    prevTransactions: string[];
}
interface PositionDetails {
    position: Position;
    state: PositionState;
}
type PositionResultEstimatedApy24h = string | null;
type PositionResultEstimatedApy7d = string | null;
interface PositionResult {
    position: Position;
    state: PositionState;
    historicalGainPct: string;
    totalIncrementToken0Amount: number;
    totalIncrementToken1Amount: number;
    estimatedApy24h?: PositionResultEstimatedApy24h;
    estimatedApy7d?: PositionResultEstimatedApy7d;
}
type PositionSearchFilterName = string[] | null;
type PositionSearchFilterMinLiquidity = number | null;
type PositionSearchFilterOffset = number | null;
type PositionSearchFilterLimit = number | null;
interface PositionSearchFilter {
    name?: PositionSearchFilterName;
    min_liquidity?: PositionSearchFilterMinLiquidity;
    offset?: PositionSearchFilterOffset;
    limit?: PositionSearchFilterLimit;
}
interface PositionState {
    positionId: string;
    blockHeight: string;
    liquidity: string;
    incrementToken0Amount: number;
    incrementToken1Amount: number;
}
interface Price {
    blockHeight: string;
    token0Id: string;
    btcPrice: string;
}
interface PriceChange {
    percentage: number;
    absolute: number;
}
type QueryCollectionOneOf = {
    Token: string;
};
type QueryCollectionOneOfTwo = {
    Name: string;
};
type QueryCollection = QueryCollectionOneOf | QueryCollectionOneOfTwo;
type RollbackStatusSchemaOneOfType = typeof RollbackStatusSchemaOneOfType[keyof typeof RollbackStatusSchemaOneOfType];
declare const RollbackStatusSchemaOneOfType: {
    readonly rolledback: "rolledback";
};
type RollbackStatusSchemaOneOf = {
    message: string;
    type: RollbackStatusSchemaOneOfType;
};
type RollbackStatusSchemaOneOfThreeType = typeof RollbackStatusSchemaOneOfThreeType[keyof typeof RollbackStatusSchemaOneOfThreeType];
declare const RollbackStatusSchemaOneOfThreeType: {
    readonly notRolledback: "notRolledback";
};
type RollbackStatusSchemaOneOfThree = {
    type: RollbackStatusSchemaOneOfThreeType;
};
type RollbackStatusSchema = RollbackStatusSchemaOneOf | RollbackStatusSchemaOneOfThree;
interface RuneAmountJson {
    id: string;
    amount: string;
}
type RuneCollectionSymbol = string | null;
type RuneCollectionIcon = string | null;
type RuneCollectionTransactionId = string | null;
interface RuneCollection {
    id: string;
    name: string;
    displayName: string;
    symbol?: RuneCollectionSymbol;
    /** @minimum 0 */
    divisibility: number;
    /** @minimum 0 */
    batchSize: number;
    supply: string;
    verified: boolean;
    icon?: RuneCollectionIcon;
    premined: string;
    burned: string;
    transactionId?: RuneCollectionTransactionId;
    createdAt: string;
    updatedAt: string;
}
type SortFieldSortFieldCollectionField = typeof SortFieldSortFieldCollectionField[keyof typeof SortFieldSortFieldCollectionField];
declare const SortFieldSortFieldCollectionField: {
    readonly id: "id";
    readonly name: "name";
    readonly supply: "supply";
    readonly created_at: "created_at";
};
interface SortFieldSortFieldCollection {
    field: SortFieldSortFieldCollectionField;
    order: SortOrder;
}
type SortFieldSortFieldPoolField = typeof SortFieldSortFieldPoolField[keyof typeof SortFieldSortFieldPoolField];
declare const SortFieldSortFieldPoolField: {
    readonly token0_name: "token0_name";
    readonly token1_name: "token1_name";
    readonly tvl_now: "tvl_now";
    readonly tvl_24h_ago: "tvl_24h_ago";
    readonly tvl_diff: "tvl_diff";
    readonly volume_24h: "volume_24h";
    readonly volume_7d: "volume_7d";
    readonly volume_diff_24h: "volume_diff_24h";
    readonly fees_24h: "fees_24h";
    readonly fees_7d: "fees_7d";
    readonly smaller_24h_apy: "smaller_24h_apy";
    readonly larger_24h_apy: "larger_24h_apy";
    readonly smaller_7d_apy: "smaller_7d_apy";
    readonly larger_7d_apy: "larger_7d_apy";
};
interface SortFieldSortFieldPool {
    field: SortFieldSortFieldPoolField;
    order: SortOrder;
}
type SortFieldSortMintableFieldCollectionField = typeof SortFieldSortMintableFieldCollectionField[keyof typeof SortFieldSortMintableFieldCollectionField];
declare const SortFieldSortMintableFieldCollectionField: {
    readonly id: "id";
    readonly name: "name";
    readonly supply: "supply";
    readonly created_at: "created_at";
    readonly start: "start";
    readonly end: "end";
    readonly progress: "progress";
};
interface SortFieldSortMintableFieldCollection {
    field: SortFieldSortMintableFieldCollectionField;
    order: SortOrder;
}
type SortOrder = typeof SortOrder[keyof typeof SortOrder];
declare const SortOrder: {
    readonly ASC: "ASC";
    readonly DESC: "DESC";
};
type StatusSchemaOneOfType = typeof StatusSchemaOneOfType[keyof typeof StatusSchemaOneOfType];
declare const StatusSchemaOneOfType: {
    readonly Queued: "Queued";
};
type StatusSchemaOneOf = {
    type: StatusSchemaOneOfType;
};
type StatusSchemaOneOfThreeType = typeof StatusSchemaOneOfThreeType[keyof typeof StatusSchemaOneOfThreeType];
declare const StatusSchemaOneOfThreeType: {
    readonly Processed: "Processed";
};
type StatusSchemaOneOfThree = {
    type: StatusSchemaOneOfThreeType;
};
type StatusSchemaOneOfFiveType = typeof StatusSchemaOneOfFiveType[keyof typeof StatusSchemaOneOfFiveType];
declare const StatusSchemaOneOfFiveType: {
    readonly Failed: "Failed";
};
type StatusSchemaOneOfFive = {
    message: string;
    type: StatusSchemaOneOfFiveType;
};
type StatusSchema = StatusSchemaOneOf | StatusSchemaOneOfThree | StatusSchemaOneOfFive;
type SuccessfulTransactionBitcoinTxId = string | null;
/**
 * @minimum 0
 */
type SuccessfulTransactionBitcoinBlockHeight = number | null;
type SuccessfulTransactionBitcoinTxStatus = null | BitcoinTxStatus;
interface SuccessfulTransaction {
    id: string;
    status: StatusSchema;
    rollbackStatus: RollbackStatusSchema;
    bitcoinTxId?: SuccessfulTransactionBitcoinTxId;
    /** @minimum 0 */
    bitcoinBlockHeight?: SuccessfulTransactionBitcoinBlockHeight;
    bitcoinTxStatus?: SuccessfulTransactionBitcoinTxStatus;
    blockHeight: string;
    poolPubkey: string;
    userPubkey: string;
    transactionType: TransactionType;
    createdAt: string;
    details: TransactionDetails;
}
interface SwapBalance {
    /** @minimum 0 */
    blockHeight: number;
    /** @minimum 0 */
    zeroToOneSwaps: number;
    /** @minimum 0 */
    oneToZeroSwaps: number;
    Padding1: number[];
}
interface SwapData {
    amountIn: string;
    amountOut: string;
    zeroToOne: boolean;
    feeAmount0: string;
    feeAmount1: string;
    /** @minimum 0 */
    btcFeePaid: number;
    /** @minimum 0 */
    totalBtcFeePaid: number;
}
type TaprootAddress = number[];
type Transaction = SuccessfulTransaction | FailedTransaction;
type TransactionDetailsOneOfAllOfType = typeof TransactionDetailsOneOfAllOfType[keyof typeof TransactionDetailsOneOfAllOfType];
declare const TransactionDetailsOneOfAllOfType: {
    readonly open_position: "open_position";
};
type TransactionDetailsOneOfAllOf = {
    type: TransactionDetailsOneOfAllOfType;
};
type TransactionDetailsOneOf = PositionData & TransactionDetailsOneOfAllOf;
type TransactionDetailsOneOfFourAllOfType = typeof TransactionDetailsOneOfFourAllOfType[keyof typeof TransactionDetailsOneOfFourAllOfType];
declare const TransactionDetailsOneOfFourAllOfType: {
    readonly increase_liquidity: "increase_liquidity";
};
type TransactionDetailsOneOfFourAllOf = {
    type: TransactionDetailsOneOfFourAllOfType;
};
type TransactionDetailsOneOfFour = PositionData & TransactionDetailsOneOfFourAllOf;
type TransactionDetailsOneOfSevenAllOfType = typeof TransactionDetailsOneOfSevenAllOfType[keyof typeof TransactionDetailsOneOfSevenAllOfType];
declare const TransactionDetailsOneOfSevenAllOfType: {
    readonly decrease_liquidity: "decrease_liquidity";
};
type TransactionDetailsOneOfSevenAllOf = {
    type: TransactionDetailsOneOfSevenAllOfType;
};
type TransactionDetailsOneOfSeven = PositionData & TransactionDetailsOneOfSevenAllOf;
type TransactionDetailsOneOfOnezeroAllOfType = typeof TransactionDetailsOneOfOnezeroAllOfType[keyof typeof TransactionDetailsOneOfOnezeroAllOfType];
declare const TransactionDetailsOneOfOnezeroAllOfType: {
    readonly close_position: "close_position";
};
type TransactionDetailsOneOfOnezeroAllOf = {
    type: TransactionDetailsOneOfOnezeroAllOfType;
};
type TransactionDetailsOneOfOnezero = PositionData & TransactionDetailsOneOfOnezeroAllOf;
type TransactionDetailsOneOfOnethreeAllOfType = typeof TransactionDetailsOneOfOnethreeAllOfType[keyof typeof TransactionDetailsOneOfOnethreeAllOfType];
declare const TransactionDetailsOneOfOnethreeAllOfType: {
    readonly add_pool_shards: "add_pool_shards";
};
type TransactionDetailsOneOfOnethreeAllOf = {
    type: TransactionDetailsOneOfOnethreeAllOfType;
};
type TransactionDetailsOneOfOnethree = AddPoolShardsData & TransactionDetailsOneOfOnethreeAllOf;
type TransactionDetailsOneOfOnesixAllOfType = typeof TransactionDetailsOneOfOnesixAllOfType[keyof typeof TransactionDetailsOneOfOnesixAllOfType];
declare const TransactionDetailsOneOfOnesixAllOfType: {
    readonly swap: "swap";
};
type TransactionDetailsOneOfOnesixAllOf = {
    type: TransactionDetailsOneOfOnesixAllOfType;
};
type TransactionDetailsOneOfOnesix = SwapData & TransactionDetailsOneOfOnesixAllOf;
type TransactionDetailsOneOfOnenineAllOfType = typeof TransactionDetailsOneOfOnenineAllOfType[keyof typeof TransactionDetailsOneOfOnenineAllOfType];
declare const TransactionDetailsOneOfOnenineAllOfType: {
    readonly collect_protocol_fees: "collect_protocol_fees";
};
type TransactionDetailsOneOfOnenineAllOf = {
    type: TransactionDetailsOneOfOnenineAllOfType;
};
type TransactionDetailsOneOfOnenine = CollectProtocolFeesData & TransactionDetailsOneOfOnenineAllOf;
type TransactionDetailsOneOfTwotwoAllOfType = typeof TransactionDetailsOneOfTwotwoAllOfType[keyof typeof TransactionDetailsOneOfTwotwoAllOfType];
declare const TransactionDetailsOneOfTwotwoAllOfType: {
    readonly initialize_pool: "initialize_pool";
};
type TransactionDetailsOneOfTwotwoAllOf = {
    type: TransactionDetailsOneOfTwotwoAllOfType;
};
type TransactionDetailsOneOfTwotwo = InitializePoolData & TransactionDetailsOneOfTwotwoAllOf;
type TransactionDetails = TransactionDetailsOneOf | TransactionDetailsOneOfFour | TransactionDetailsOneOfSeven | TransactionDetailsOneOfOnezero | TransactionDetailsOneOfOnethree | TransactionDetailsOneOfOnesix | TransactionDetailsOneOfOnenine | TransactionDetailsOneOfTwotwo;
interface TransactionResponse {
    transaction: Transaction;
    token0: Collection;
    token1: Collection;
}
type TransactionType = typeof TransactionType[keyof typeof TransactionType];
declare const TransactionType: {
    readonly open_position: "open_position";
    readonly close_position: "close_position";
    readonly increase_liquidity: "increase_liquidity";
    readonly decrease_liquidity: "decrease_liquidity";
    readonly swap: "swap";
    readonly initialize_pool: "initialize_pool";
    readonly add_pool_shards: "add_pool_shards";
    readonly collect_protocol_fees: "collect_protocol_fees";
};
interface UtxoInfoJson {
    txid: string;
    /** @minimum 0 */
    vout: number;
    value: string;
    runes: RuneAmountJson[];
    needsConsolidation: NeedsConsolidation;
}
type GetCollectionsByIdsParams = {
    ids: string[];
};
type GetCollectionsByNamesParams = {
    names: string[];
};
type GetOhlcDataParams = {
    granularity: OHLCGranularity;
    startDate: string;
    endDate: string;
    token0: string;
    token1: string;
};
type FindParams = {
    name?: string | null;
    sortVolume?: string | null;
    sortFeeGenerated?: string | null;
    limit?: number | null;
    offset?: number | null;
};
type FindManyByTokenIdsParams = {
    token0: string;
    token1: string;
    feeTier?: number | null;
};
type FindManyByTokenNamesParams = {
    token0: string;
    token1: string;
    feeTier?: number | null;
};
type FindByIdsParams = {
    poolIds?: string[];
};
type GetPricesForCollectionsParams = {
    collectionIds: string[];
};
type FindAllTransactionsParams = {
    startDate?: string | null;
    endDate?: string | null;
    types?: TransactionType[] | null;
    offset?: number | null;
    limit?: number | null;
    sortCreatedAt?: null | SortOrder;
};
type FindTransactionsByPoolIdParams = {
    startDate?: string | null;
    endDate?: string | null;
    types?: TransactionType[] | null;
    offset?: number | null;
    limit?: number | null;
    sortCreatedAt?: null | SortOrder;
};
type FindTransactionsByPrevTransactionsParams = {
    /**
     * List of previous transaction IDs to search for
     */
    prev_transactions: string[];
    startDate?: string | null;
    endDate?: string | null;
    types?: TransactionType[] | null;
    offset?: number | null;
    limit?: number | null;
    sortCreatedAt?: null | SortOrder;
};
type FindSwapsByCollectionsParams = {
    token0: string;
    token1: string;
    offset?: number | null;
    limit?: number | null;
};
type FindTransactionsByUserParams = {
    startDate?: string | null;
    endDate?: string | null;
    types?: TransactionType[] | null;
    offset?: number | null;
    limit?: number | null;
    sortCreatedAt?: null | SortOrder;
};

/**
 * Generated by orval v7.8.0 🍺
 * Do not edit manually.
 * Saturn Indexer API
 * API for querying data from the Saturn bitcoin rune trading platform
 * OpenAPI spec version: 0.1.0
 */

/**
 * Get details for a single collection by ID
 */
type getCollectionByIdResponse200 = {
    data: Collection;
    status: 200;
};
type getCollectionByIdResponse400 = {
    data: void;
    status: 400;
};
type getCollectionByIdResponseComposite = getCollectionByIdResponse200 | getCollectionByIdResponse400;
type getCollectionByIdResponse = getCollectionByIdResponseComposite & {
    headers: Headers;
};
declare const getGetCollectionByIdUrl: (id: string) => string;
declare const getCollectionById: (id: string, options?: RequestInit) => Promise<getCollectionByIdResponse>;
/**
 * Get multiple collection details by IDs
 */
type getCollectionsByIdsResponse200 = {
    data: Collection[];
    status: 200;
};
type getCollectionsByIdsResponse400 = {
    data: void;
    status: 400;
};
type getCollectionsByIdsResponseComposite = getCollectionsByIdsResponse200 | getCollectionsByIdsResponse400;
type getCollectionsByIdsResponse = getCollectionsByIdsResponseComposite & {
    headers: Headers;
};
declare const getGetCollectionsByIdsUrl: (params: GetCollectionsByIdsParams) => string;
declare const getCollectionsByIds: (params: GetCollectionsByIdsParams, options?: RequestInit) => Promise<getCollectionsByIdsResponse>;
/**
 * Get mintable collections by ids
 */
type mintableMultiSearchByIdResponse200 = {
    data: MintableCollection[];
    status: 200;
};
type mintableMultiSearchByIdResponse400 = {
    data: void;
    status: 400;
};
type mintableMultiSearchByIdResponseComposite = mintableMultiSearchByIdResponse200 | mintableMultiSearchByIdResponse400;
type mintableMultiSearchByIdResponse = mintableMultiSearchByIdResponseComposite & {
    headers: Headers;
};
declare const getMintableMultiSearchByIdUrl: () => string;
declare const mintableMultiSearchById: (findManyByIdsRequest: FindManyByIdsRequest, options?: RequestInit) => Promise<mintableMultiSearchByIdResponse>;
/**
 * Search mintable collections using filter criteria
 */
type mintableMultiSearchResponse200 = {
    data: PaginationResponseVecMintableCollection;
    status: 200;
};
type mintableMultiSearchResponse400 = {
    data: void;
    status: 400;
};
type mintableMultiSearchResponseComposite = mintableMultiSearchResponse200 | mintableMultiSearchResponse400;
type mintableMultiSearchResponse = mintableMultiSearchResponseComposite & {
    headers: Headers;
};
declare const getMintableMultiSearchUrl: () => string;
declare const mintableMultiSearch: (mintableCollectionSearchFilter: MintableCollectionSearchFilter, options?: RequestInit) => Promise<mintableMultiSearchResponse>;
/**
 * Get a single mintable collection by ID
 */
type getMintableCollectionResponse200 = {
    data: MintableCollection;
    status: 200;
};
type getMintableCollectionResponse400 = {
    data: void;
    status: 400;
};
type getMintableCollectionResponseComposite = getMintableCollectionResponse200 | getMintableCollectionResponse400;
type getMintableCollectionResponse = getMintableCollectionResponseComposite & {
    headers: Headers;
};
declare const getGetMintableCollectionUrl: (id: string) => string;
declare const getMintableCollection: (id: string, options?: RequestInit) => Promise<getMintableCollectionResponse>;
/**
 * Get multiple collections using filter criteria
 */
type multiSearchResponse200 = {
    data: PaginationResponseVecCollection;
    status: 200;
};
type multiSearchResponse400 = {
    data: void;
    status: 400;
};
type multiSearchResponseComposite = multiSearchResponse200 | multiSearchResponse400;
type multiSearchResponse = multiSearchResponseComposite & {
    headers: Headers;
};
declare const getMultiSearchUrl: () => string;
declare const multiSearch: (collectionSearchFilter: CollectionSearchFilter, options?: RequestInit) => Promise<multiSearchResponse>;
/**
 * Get a collection by name
 */
type getCollectionByNameResponse200 = {
    data: Collection;
    status: 200;
};
type getCollectionByNameResponse400 = {
    data: void;
    status: 400;
};
type getCollectionByNameResponseComposite = getCollectionByNameResponse200 | getCollectionByNameResponse400;
type getCollectionByNameResponse = getCollectionByNameResponseComposite & {
    headers: Headers;
};
declare const getGetCollectionByNameUrl: (name: string) => string;
declare const getCollectionByName: (name: string, options?: RequestInit) => Promise<getCollectionByNameResponse>;
/**
 * Get multiple collection that match the name query
 */
type getCollectionsByNamesResponse200 = {
    data: Collection[];
    status: 200;
};
type getCollectionsByNamesResponse400 = {
    data: void;
    status: 400;
};
type getCollectionsByNamesResponseComposite = getCollectionsByNamesResponse200 | getCollectionsByNamesResponse400;
type getCollectionsByNamesResponse = getCollectionsByNamesResponseComposite & {
    headers: Headers;
};
declare const getGetCollectionsByNamesUrl: (params: GetCollectionsByNamesParams) => string;
declare const getCollectionsByNames: (params: GetCollectionsByNamesParams, options?: RequestInit) => Promise<getCollectionsByNamesResponse>;

declare const collection_getCollectionById: typeof getCollectionById;
type collection_getCollectionByIdResponse = getCollectionByIdResponse;
type collection_getCollectionByIdResponse200 = getCollectionByIdResponse200;
type collection_getCollectionByIdResponse400 = getCollectionByIdResponse400;
type collection_getCollectionByIdResponseComposite = getCollectionByIdResponseComposite;
declare const collection_getCollectionByName: typeof getCollectionByName;
type collection_getCollectionByNameResponse = getCollectionByNameResponse;
type collection_getCollectionByNameResponse200 = getCollectionByNameResponse200;
type collection_getCollectionByNameResponse400 = getCollectionByNameResponse400;
type collection_getCollectionByNameResponseComposite = getCollectionByNameResponseComposite;
declare const collection_getCollectionsByIds: typeof getCollectionsByIds;
type collection_getCollectionsByIdsResponse = getCollectionsByIdsResponse;
type collection_getCollectionsByIdsResponse200 = getCollectionsByIdsResponse200;
type collection_getCollectionsByIdsResponse400 = getCollectionsByIdsResponse400;
type collection_getCollectionsByIdsResponseComposite = getCollectionsByIdsResponseComposite;
declare const collection_getCollectionsByNames: typeof getCollectionsByNames;
type collection_getCollectionsByNamesResponse = getCollectionsByNamesResponse;
type collection_getCollectionsByNamesResponse200 = getCollectionsByNamesResponse200;
type collection_getCollectionsByNamesResponse400 = getCollectionsByNamesResponse400;
type collection_getCollectionsByNamesResponseComposite = getCollectionsByNamesResponseComposite;
declare const collection_getGetCollectionByIdUrl: typeof getGetCollectionByIdUrl;
declare const collection_getGetCollectionByNameUrl: typeof getGetCollectionByNameUrl;
declare const collection_getGetCollectionsByIdsUrl: typeof getGetCollectionsByIdsUrl;
declare const collection_getGetCollectionsByNamesUrl: typeof getGetCollectionsByNamesUrl;
declare const collection_getGetMintableCollectionUrl: typeof getGetMintableCollectionUrl;
declare const collection_getMintableCollection: typeof getMintableCollection;
type collection_getMintableCollectionResponse = getMintableCollectionResponse;
type collection_getMintableCollectionResponse200 = getMintableCollectionResponse200;
type collection_getMintableCollectionResponse400 = getMintableCollectionResponse400;
type collection_getMintableCollectionResponseComposite = getMintableCollectionResponseComposite;
declare const collection_getMintableMultiSearchByIdUrl: typeof getMintableMultiSearchByIdUrl;
declare const collection_getMintableMultiSearchUrl: typeof getMintableMultiSearchUrl;
declare const collection_getMultiSearchUrl: typeof getMultiSearchUrl;
declare const collection_mintableMultiSearch: typeof mintableMultiSearch;
declare const collection_mintableMultiSearchById: typeof mintableMultiSearchById;
type collection_mintableMultiSearchByIdResponse = mintableMultiSearchByIdResponse;
type collection_mintableMultiSearchByIdResponse200 = mintableMultiSearchByIdResponse200;
type collection_mintableMultiSearchByIdResponse400 = mintableMultiSearchByIdResponse400;
type collection_mintableMultiSearchByIdResponseComposite = mintableMultiSearchByIdResponseComposite;
type collection_mintableMultiSearchResponse = mintableMultiSearchResponse;
type collection_mintableMultiSearchResponse200 = mintableMultiSearchResponse200;
type collection_mintableMultiSearchResponse400 = mintableMultiSearchResponse400;
type collection_mintableMultiSearchResponseComposite = mintableMultiSearchResponseComposite;
declare const collection_multiSearch: typeof multiSearch;
type collection_multiSearchResponse = multiSearchResponse;
type collection_multiSearchResponse200 = multiSearchResponse200;
type collection_multiSearchResponse400 = multiSearchResponse400;
type collection_multiSearchResponseComposite = multiSearchResponseComposite;
declare namespace collection {
  export { collection_getCollectionById as getCollectionById, type collection_getCollectionByIdResponse as getCollectionByIdResponse, type collection_getCollectionByIdResponse200 as getCollectionByIdResponse200, type collection_getCollectionByIdResponse400 as getCollectionByIdResponse400, type collection_getCollectionByIdResponseComposite as getCollectionByIdResponseComposite, collection_getCollectionByName as getCollectionByName, type collection_getCollectionByNameResponse as getCollectionByNameResponse, type collection_getCollectionByNameResponse200 as getCollectionByNameResponse200, type collection_getCollectionByNameResponse400 as getCollectionByNameResponse400, type collection_getCollectionByNameResponseComposite as getCollectionByNameResponseComposite, collection_getCollectionsByIds as getCollectionsByIds, type collection_getCollectionsByIdsResponse as getCollectionsByIdsResponse, type collection_getCollectionsByIdsResponse200 as getCollectionsByIdsResponse200, type collection_getCollectionsByIdsResponse400 as getCollectionsByIdsResponse400, type collection_getCollectionsByIdsResponseComposite as getCollectionsByIdsResponseComposite, collection_getCollectionsByNames as getCollectionsByNames, type collection_getCollectionsByNamesResponse as getCollectionsByNamesResponse, type collection_getCollectionsByNamesResponse200 as getCollectionsByNamesResponse200, type collection_getCollectionsByNamesResponse400 as getCollectionsByNamesResponse400, type collection_getCollectionsByNamesResponseComposite as getCollectionsByNamesResponseComposite, collection_getGetCollectionByIdUrl as getGetCollectionByIdUrl, collection_getGetCollectionByNameUrl as getGetCollectionByNameUrl, collection_getGetCollectionsByIdsUrl as getGetCollectionsByIdsUrl, collection_getGetCollectionsByNamesUrl as getGetCollectionsByNamesUrl, collection_getGetMintableCollectionUrl as getGetMintableCollectionUrl, collection_getMintableCollection as getMintableCollection, type collection_getMintableCollectionResponse as getMintableCollectionResponse, type collection_getMintableCollectionResponse200 as getMintableCollectionResponse200, type collection_getMintableCollectionResponse400 as getMintableCollectionResponse400, type collection_getMintableCollectionResponseComposite as getMintableCollectionResponseComposite, collection_getMintableMultiSearchByIdUrl as getMintableMultiSearchByIdUrl, collection_getMintableMultiSearchUrl as getMintableMultiSearchUrl, collection_getMultiSearchUrl as getMultiSearchUrl, collection_mintableMultiSearch as mintableMultiSearch, collection_mintableMultiSearchById as mintableMultiSearchById, type collection_mintableMultiSearchByIdResponse as mintableMultiSearchByIdResponse, type collection_mintableMultiSearchByIdResponse200 as mintableMultiSearchByIdResponse200, type collection_mintableMultiSearchByIdResponse400 as mintableMultiSearchByIdResponse400, type collection_mintableMultiSearchByIdResponseComposite as mintableMultiSearchByIdResponseComposite, type collection_mintableMultiSearchResponse as mintableMultiSearchResponse, type collection_mintableMultiSearchResponse200 as mintableMultiSearchResponse200, type collection_mintableMultiSearchResponse400 as mintableMultiSearchResponse400, type collection_mintableMultiSearchResponseComposite as mintableMultiSearchResponseComposite, collection_multiSearch as multiSearch, type collection_multiSearchResponse as multiSearchResponse, type collection_multiSearchResponse200 as multiSearchResponse200, type collection_multiSearchResponse400 as multiSearchResponse400, type collection_multiSearchResponseComposite as multiSearchResponseComposite };
}

/**
 * Generated by orval v7.8.0 🍺
 * Do not edit manually.
 * Saturn Indexer API
 * API for querying data from the Saturn bitcoin rune trading platform
 * OpenAPI spec version: 0.1.0
 */

/**
 * Paginated list of swap pools stats matched by the filter
 */
type findResponse200 = {
    data: PaginationResponseVecPoolStats;
    status: 200;
};
type findResponseComposite = findResponse200;
type findResponse = findResponseComposite & {
    headers: Headers;
};
declare const getFindUrl: (params?: FindParams) => string;
declare const find: (params?: FindParams, options?: RequestInit) => Promise<findResponse>;
/**
 * Returns the pool and its latest state
 */
type findOneResponse200 = {
    data: IdentifiableLiquidityPool;
    status: 200;
};
type findOneResponse400 = {
    data: void;
    status: 400;
};
type findOneResponseComposite = findOneResponse200 | findOneResponse400;
type findOneResponse = findOneResponseComposite & {
    headers: Headers;
};
declare const getFindOneUrl: (id: string) => string;
declare const findOne: (id: string, options?: RequestInit) => Promise<findOneResponse>;
/**
 * Returns a list of pool details with its current state, where the provided ids match exactly and are optionally filtered by the fee tier
 */
type findManyByTokenIdsResponse200 = {
    data: IdentifiableLiquidityPool[];
    status: 200;
};
type findManyByTokenIdsResponse404 = {
    data: void;
    status: 404;
};
type findManyByTokenIdsResponseComposite = findManyByTokenIdsResponse200 | findManyByTokenIdsResponse404;
type findManyByTokenIdsResponse = findManyByTokenIdsResponseComposite & {
    headers: Headers;
};
declare const getFindManyByTokenIdsUrl: (params: FindManyByTokenIdsParams) => string;
declare const findManyByTokenIds: (params: FindManyByTokenIdsParams, options?: RequestInit) => Promise<findManyByTokenIdsResponse>;
/**
 * Returns a list of pool details with its current state where the token names match. Search is case-insensitive and will find pools where either token matches any of the given ones
 */
type findManyByTokenNamesResponse200 = {
    data: IdentifiableLiquidityPool[];
    status: 200;
};
type findManyByTokenNamesResponse404 = {
    data: void;
    status: 404;
};
type findManyByTokenNamesResponseComposite = findManyByTokenNamesResponse200 | findManyByTokenNamesResponse404;
type findManyByTokenNamesResponse = findManyByTokenNamesResponseComposite & {
    headers: Headers;
};
declare const getFindManyByTokenNamesUrl: (params: FindManyByTokenNamesParams) => string;
declare const findManyByTokenNames: (params: FindManyByTokenNamesParams, options?: RequestInit) => Promise<findManyByTokenNamesResponse>;
/**
 * Returns a paginated list of pool statistics matching the provided filter criteria
 */
type findByFilterResponse200 = {
    data: PaginationResponseVecPoolStats;
    status: 200;
};
type findByFilterResponse404 = {
    data: void;
    status: 404;
};
type findByFilterResponseComposite = findByFilterResponse200 | findByFilterResponse404;
type findByFilterResponse = findByFilterResponseComposite & {
    headers: Headers;
};
declare const getFindByFilterUrl: () => string;
declare const findByFilter: (poolSearchFilter: PoolSearchFilter, options?: RequestInit) => Promise<findByFilterResponse>;
/**
 * Returns a list of detailed statistics for pools matching the provided IDs, including token information, TVL, volume, fees, and APY data.
 */
type findByIdsResponse200 = {
    data: PoolStats[];
    status: 200;
};
type findByIdsResponse404 = {
    data: void;
    status: 404;
};
type findByIdsResponseComposite = findByIdsResponse200 | findByIdsResponse404;
type findByIdsResponse = findByIdsResponseComposite & {
    headers: Headers;
};
declare const getFindByIdsUrl: (params?: FindByIdsParams) => string;
declare const findByIds: (params?: FindByIdsParams, options?: RequestInit) => Promise<findByIdsResponse>;
/**
 * Returns a paginated list of token pairs with aggregated pool statistics filtered by the provided criteria
 */
type findByTokenFilterResponse200 = {
    data: PaginationResponseVecPoolsStatsByTokens;
    status: 200;
};
type findByTokenFilterResponse404 = {
    data: void;
    status: 404;
};
type findByTokenFilterResponseComposite = findByTokenFilterResponse200 | findByTokenFilterResponse404;
type findByTokenFilterResponse = findByTokenFilterResponseComposite & {
    headers: Headers;
};
declare const getFindByTokenFilterUrl: () => string;
declare const findByTokenFilter: (poolSearchFilter: PoolSearchFilter, options?: RequestInit) => Promise<findByTokenFilterResponse>;

declare const pool_find: typeof find;
declare const pool_findByFilter: typeof findByFilter;
type pool_findByFilterResponse = findByFilterResponse;
type pool_findByFilterResponse200 = findByFilterResponse200;
type pool_findByFilterResponse404 = findByFilterResponse404;
type pool_findByFilterResponseComposite = findByFilterResponseComposite;
declare const pool_findByIds: typeof findByIds;
type pool_findByIdsResponse = findByIdsResponse;
type pool_findByIdsResponse200 = findByIdsResponse200;
type pool_findByIdsResponse404 = findByIdsResponse404;
type pool_findByIdsResponseComposite = findByIdsResponseComposite;
declare const pool_findByTokenFilter: typeof findByTokenFilter;
type pool_findByTokenFilterResponse = findByTokenFilterResponse;
type pool_findByTokenFilterResponse200 = findByTokenFilterResponse200;
type pool_findByTokenFilterResponse404 = findByTokenFilterResponse404;
type pool_findByTokenFilterResponseComposite = findByTokenFilterResponseComposite;
declare const pool_findManyByTokenIds: typeof findManyByTokenIds;
type pool_findManyByTokenIdsResponse = findManyByTokenIdsResponse;
type pool_findManyByTokenIdsResponse200 = findManyByTokenIdsResponse200;
type pool_findManyByTokenIdsResponse404 = findManyByTokenIdsResponse404;
type pool_findManyByTokenIdsResponseComposite = findManyByTokenIdsResponseComposite;
declare const pool_findManyByTokenNames: typeof findManyByTokenNames;
type pool_findManyByTokenNamesResponse = findManyByTokenNamesResponse;
type pool_findManyByTokenNamesResponse200 = findManyByTokenNamesResponse200;
type pool_findManyByTokenNamesResponse404 = findManyByTokenNamesResponse404;
type pool_findManyByTokenNamesResponseComposite = findManyByTokenNamesResponseComposite;
declare const pool_findOne: typeof findOne;
type pool_findOneResponse = findOneResponse;
type pool_findOneResponse200 = findOneResponse200;
type pool_findOneResponse400 = findOneResponse400;
type pool_findOneResponseComposite = findOneResponseComposite;
type pool_findResponse = findResponse;
type pool_findResponse200 = findResponse200;
type pool_findResponseComposite = findResponseComposite;
declare const pool_getFindByFilterUrl: typeof getFindByFilterUrl;
declare const pool_getFindByIdsUrl: typeof getFindByIdsUrl;
declare const pool_getFindByTokenFilterUrl: typeof getFindByTokenFilterUrl;
declare const pool_getFindManyByTokenIdsUrl: typeof getFindManyByTokenIdsUrl;
declare const pool_getFindManyByTokenNamesUrl: typeof getFindManyByTokenNamesUrl;
declare const pool_getFindOneUrl: typeof getFindOneUrl;
declare const pool_getFindUrl: typeof getFindUrl;
declare namespace pool {
  export { pool_find as find, pool_findByFilter as findByFilter, type pool_findByFilterResponse as findByFilterResponse, type pool_findByFilterResponse200 as findByFilterResponse200, type pool_findByFilterResponse404 as findByFilterResponse404, type pool_findByFilterResponseComposite as findByFilterResponseComposite, pool_findByIds as findByIds, type pool_findByIdsResponse as findByIdsResponse, type pool_findByIdsResponse200 as findByIdsResponse200, type pool_findByIdsResponse404 as findByIdsResponse404, type pool_findByIdsResponseComposite as findByIdsResponseComposite, pool_findByTokenFilter as findByTokenFilter, type pool_findByTokenFilterResponse as findByTokenFilterResponse, type pool_findByTokenFilterResponse200 as findByTokenFilterResponse200, type pool_findByTokenFilterResponse404 as findByTokenFilterResponse404, type pool_findByTokenFilterResponseComposite as findByTokenFilterResponseComposite, pool_findManyByTokenIds as findManyByTokenIds, type pool_findManyByTokenIdsResponse as findManyByTokenIdsResponse, type pool_findManyByTokenIdsResponse200 as findManyByTokenIdsResponse200, type pool_findManyByTokenIdsResponse404 as findManyByTokenIdsResponse404, type pool_findManyByTokenIdsResponseComposite as findManyByTokenIdsResponseComposite, pool_findManyByTokenNames as findManyByTokenNames, type pool_findManyByTokenNamesResponse as findManyByTokenNamesResponse, type pool_findManyByTokenNamesResponse200 as findManyByTokenNamesResponse200, type pool_findManyByTokenNamesResponse404 as findManyByTokenNamesResponse404, type pool_findManyByTokenNamesResponseComposite as findManyByTokenNamesResponseComposite, pool_findOne as findOne, type pool_findOneResponse as findOneResponse, type pool_findOneResponse200 as findOneResponse200, type pool_findOneResponse400 as findOneResponse400, type pool_findOneResponseComposite as findOneResponseComposite, type pool_findResponse as findResponse, type pool_findResponse200 as findResponse200, type pool_findResponseComposite as findResponseComposite, pool_getFindByFilterUrl as getFindByFilterUrl, pool_getFindByIdsUrl as getFindByIdsUrl, pool_getFindByTokenFilterUrl as getFindByTokenFilterUrl, pool_getFindManyByTokenIdsUrl as getFindManyByTokenIdsUrl, pool_getFindManyByTokenNamesUrl as getFindManyByTokenNamesUrl, pool_getFindOneUrl as getFindOneUrl, pool_getFindUrl as getFindUrl };
}

/**
 * Generated by orval v7.8.0 🍺
 * Do not edit manually.
 * Saturn Indexer API
 * API for querying data from the Saturn bitcoin rune trading platform
 * OpenAPI spec version: 0.1.0
 */

/**
 * Get position details
 */
type getPositionByIdResponse200 = {
    data: PositionDetails;
    status: 200;
};
type getPositionByIdResponse400 = {
    data: ApiError;
    status: 400;
};
type getPositionByIdResponse404 = {
    data: string;
    status: 404;
};
type getPositionByIdResponseComposite = getPositionByIdResponse200 | getPositionByIdResponse400 | getPositionByIdResponse404;
type getPositionByIdResponse = getPositionByIdResponseComposite & {
    headers: Headers;
};
declare const getGetPositionByIdUrl: (id: string) => string;
declare const getPositionById: (id: string, options?: RequestInit) => Promise<getPositionByIdResponse>;
/**
 * Get details for a user's position in the specified pool
 */
type getPositionByPubkeyAndPoolResponse200 = {
    data: PositionResult;
    status: 200;
};
type getPositionByPubkeyAndPoolResponse400 = {
    data: ApiError;
    status: 400;
};
type getPositionByPubkeyAndPoolResponse404 = {
    data: string;
    status: 404;
};
type getPositionByPubkeyAndPoolResponseComposite = getPositionByPubkeyAndPoolResponse200 | getPositionByPubkeyAndPoolResponse400 | getPositionByPubkeyAndPoolResponse404;
type getPositionByPubkeyAndPoolResponse = getPositionByPubkeyAndPoolResponseComposite & {
    headers: Headers;
};
declare const getGetPositionByPubkeyAndPoolUrl: (pubkey: string, poolId: string) => string;
declare const getPositionByPubkeyAndPool: (pubkey: string, poolId: string, options?: RequestInit) => Promise<getPositionByPubkeyAndPoolResponse>;
/**
 * Get a list of positions owned by the user
 */
type getPositionsByPubkeyResponse200 = {
    data: PositionResult[];
    status: 200;
};
type getPositionsByPubkeyResponse400 = {
    data: void;
    status: 400;
};
type getPositionsByPubkeyResponseComposite = getPositionsByPubkeyResponse200 | getPositionsByPubkeyResponse400;
type getPositionsByPubkeyResponse = getPositionsByPubkeyResponseComposite & {
    headers: Headers;
};
declare const getGetPositionsByPubkeyUrl: (pubkey: string) => string;
declare const getPositionsByPubkey: (pubkey: string, options?: RequestInit) => Promise<getPositionsByPubkeyResponse>;
/**
 * Get paginated positions for a user that match the specified filter
 */
type getPositionsByFilterResponse200 = {
    data: PaginationResponseVecPositionResult;
    status: 200;
};
type getPositionsByFilterResponse400 = {
    data: void;
    status: 400;
};
type getPositionsByFilterResponseComposite = getPositionsByFilterResponse200 | getPositionsByFilterResponse400;
type getPositionsByFilterResponse = getPositionsByFilterResponseComposite & {
    headers: Headers;
};
declare const getGetPositionsByFilterUrl: (pubkey: string) => string;
declare const getPositionsByFilter: (pubkey: string, positionSearchFilter: PositionSearchFilter, options?: RequestInit) => Promise<getPositionsByFilterResponse>;

declare const position_getGetPositionByIdUrl: typeof getGetPositionByIdUrl;
declare const position_getGetPositionByPubkeyAndPoolUrl: typeof getGetPositionByPubkeyAndPoolUrl;
declare const position_getGetPositionsByFilterUrl: typeof getGetPositionsByFilterUrl;
declare const position_getGetPositionsByPubkeyUrl: typeof getGetPositionsByPubkeyUrl;
declare const position_getPositionById: typeof getPositionById;
type position_getPositionByIdResponse = getPositionByIdResponse;
type position_getPositionByIdResponse200 = getPositionByIdResponse200;
type position_getPositionByIdResponse400 = getPositionByIdResponse400;
type position_getPositionByIdResponse404 = getPositionByIdResponse404;
type position_getPositionByIdResponseComposite = getPositionByIdResponseComposite;
declare const position_getPositionByPubkeyAndPool: typeof getPositionByPubkeyAndPool;
type position_getPositionByPubkeyAndPoolResponse = getPositionByPubkeyAndPoolResponse;
type position_getPositionByPubkeyAndPoolResponse200 = getPositionByPubkeyAndPoolResponse200;
type position_getPositionByPubkeyAndPoolResponse400 = getPositionByPubkeyAndPoolResponse400;
type position_getPositionByPubkeyAndPoolResponse404 = getPositionByPubkeyAndPoolResponse404;
type position_getPositionByPubkeyAndPoolResponseComposite = getPositionByPubkeyAndPoolResponseComposite;
declare const position_getPositionsByFilter: typeof getPositionsByFilter;
type position_getPositionsByFilterResponse = getPositionsByFilterResponse;
type position_getPositionsByFilterResponse200 = getPositionsByFilterResponse200;
type position_getPositionsByFilterResponse400 = getPositionsByFilterResponse400;
type position_getPositionsByFilterResponseComposite = getPositionsByFilterResponseComposite;
declare const position_getPositionsByPubkey: typeof getPositionsByPubkey;
type position_getPositionsByPubkeyResponse = getPositionsByPubkeyResponse;
type position_getPositionsByPubkeyResponse200 = getPositionsByPubkeyResponse200;
type position_getPositionsByPubkeyResponse400 = getPositionsByPubkeyResponse400;
type position_getPositionsByPubkeyResponseComposite = getPositionsByPubkeyResponseComposite;
declare namespace position {
  export { position_getGetPositionByIdUrl as getGetPositionByIdUrl, position_getGetPositionByPubkeyAndPoolUrl as getGetPositionByPubkeyAndPoolUrl, position_getGetPositionsByFilterUrl as getGetPositionsByFilterUrl, position_getGetPositionsByPubkeyUrl as getGetPositionsByPubkeyUrl, position_getPositionById as getPositionById, type position_getPositionByIdResponse as getPositionByIdResponse, type position_getPositionByIdResponse200 as getPositionByIdResponse200, type position_getPositionByIdResponse400 as getPositionByIdResponse400, type position_getPositionByIdResponse404 as getPositionByIdResponse404, type position_getPositionByIdResponseComposite as getPositionByIdResponseComposite, position_getPositionByPubkeyAndPool as getPositionByPubkeyAndPool, type position_getPositionByPubkeyAndPoolResponse as getPositionByPubkeyAndPoolResponse, type position_getPositionByPubkeyAndPoolResponse200 as getPositionByPubkeyAndPoolResponse200, type position_getPositionByPubkeyAndPoolResponse400 as getPositionByPubkeyAndPoolResponse400, type position_getPositionByPubkeyAndPoolResponse404 as getPositionByPubkeyAndPoolResponse404, type position_getPositionByPubkeyAndPoolResponseComposite as getPositionByPubkeyAndPoolResponseComposite, position_getPositionsByFilter as getPositionsByFilter, type position_getPositionsByFilterResponse as getPositionsByFilterResponse, type position_getPositionsByFilterResponse200 as getPositionsByFilterResponse200, type position_getPositionsByFilterResponse400 as getPositionsByFilterResponse400, type position_getPositionsByFilterResponseComposite as getPositionsByFilterResponseComposite, position_getPositionsByPubkey as getPositionsByPubkey, type position_getPositionsByPubkeyResponse as getPositionsByPubkeyResponse, type position_getPositionsByPubkeyResponse200 as getPositionsByPubkeyResponse200, type position_getPositionsByPubkeyResponse400 as getPositionsByPubkeyResponse400, type position_getPositionsByPubkeyResponseComposite as getPositionsByPubkeyResponseComposite };
}

/**
 * Generated by orval v7.8.0 🍺
 * Do not edit manually.
 * Saturn Indexer API
 * API for querying data from the Saturn bitcoin rune trading platform
 * OpenAPI spec version: 0.1.0
 */

/**
 * Fetch OHLC (candlestick) data for the requested pair
 */
type getOhlcDataResponse200 = {
    data: OHLCData[];
    status: 200;
};
type getOhlcDataResponse400 = {
    data: void;
    status: 400;
};
type getOhlcDataResponseComposite = getOhlcDataResponse200 | getOhlcDataResponse400;
type getOhlcDataResponse = getOhlcDataResponseComposite & {
    headers: Headers;
};
declare const getGetOhlcDataUrl: (params: GetOhlcDataParams) => string;
declare const getOhlcData: (params: GetOhlcDataParams, options?: RequestInit) => Promise<getOhlcDataResponse>;

declare const ohlc_getGetOhlcDataUrl: typeof getGetOhlcDataUrl;
declare const ohlc_getOhlcData: typeof getOhlcData;
type ohlc_getOhlcDataResponse = getOhlcDataResponse;
type ohlc_getOhlcDataResponse200 = getOhlcDataResponse200;
type ohlc_getOhlcDataResponse400 = getOhlcDataResponse400;
type ohlc_getOhlcDataResponseComposite = getOhlcDataResponseComposite;
declare namespace ohlc {
  export { ohlc_getGetOhlcDataUrl as getGetOhlcDataUrl, ohlc_getOhlcData as getOhlcData, type ohlc_getOhlcDataResponse as getOhlcDataResponse, type ohlc_getOhlcDataResponse200 as getOhlcDataResponse200, type ohlc_getOhlcDataResponse400 as getOhlcDataResponse400, type ohlc_getOhlcDataResponseComposite as getOhlcDataResponseComposite };
}

/**
 * Generated by orval v7.8.0 🍺
 * Do not edit manually.
 * Saturn Indexer API
 * API for querying data from the Saturn bitcoin rune trading platform
 * OpenAPI spec version: 0.1.0
 */

type getPricesForCollectionsResponse200 = {
    data: Price[];
    status: 200;
};
type getPricesForCollectionsResponseComposite = getPricesForCollectionsResponse200;
type getPricesForCollectionsResponse = getPricesForCollectionsResponseComposite & {
    headers: Headers;
};
declare const getGetPricesForCollectionsUrl: (params: GetPricesForCollectionsParams) => string;
declare const getPricesForCollections: (params: GetPricesForCollectionsParams, options?: RequestInit) => Promise<getPricesForCollectionsResponse>;

declare const price_getGetPricesForCollectionsUrl: typeof getGetPricesForCollectionsUrl;
declare const price_getPricesForCollections: typeof getPricesForCollections;
type price_getPricesForCollectionsResponse = getPricesForCollectionsResponse;
type price_getPricesForCollectionsResponse200 = getPricesForCollectionsResponse200;
type price_getPricesForCollectionsResponseComposite = getPricesForCollectionsResponseComposite;
declare namespace price {
  export { price_getGetPricesForCollectionsUrl as getGetPricesForCollectionsUrl, price_getPricesForCollections as getPricesForCollections, type price_getPricesForCollectionsResponse as getPricesForCollectionsResponse, type price_getPricesForCollectionsResponse200 as getPricesForCollectionsResponse200, type price_getPricesForCollectionsResponseComposite as getPricesForCollectionsResponseComposite };
}

/**
 * Generated by orval v7.8.0 🍺
 * Do not edit manually.
 * Saturn Indexer API
 * API for querying data from the Saturn bitcoin rune trading platform
 * OpenAPI spec version: 0.1.0
 */

/**
 * Fetches the rune collection with the biggest volume of trades
 */
type getMostTradedCollectionsResponse200 = {
    data: CollectionPairStats;
    status: 200;
};
type getMostTradedCollectionsResponse404 = {
    data: void;
    status: 404;
};
type getMostTradedCollectionsResponseComposite = getMostTradedCollectionsResponse200 | getMostTradedCollectionsResponse404;
type getMostTradedCollectionsResponse = getMostTradedCollectionsResponseComposite & {
    headers: Headers;
};
declare const getGetMostTradedCollectionsUrl: () => string;
declare const getMostTradedCollections: (options?: RequestInit) => Promise<getMostTradedCollectionsResponse>;

declare const stats_getGetMostTradedCollectionsUrl: typeof getGetMostTradedCollectionsUrl;
declare const stats_getMostTradedCollections: typeof getMostTradedCollections;
type stats_getMostTradedCollectionsResponse = getMostTradedCollectionsResponse;
type stats_getMostTradedCollectionsResponse200 = getMostTradedCollectionsResponse200;
type stats_getMostTradedCollectionsResponse404 = getMostTradedCollectionsResponse404;
type stats_getMostTradedCollectionsResponseComposite = getMostTradedCollectionsResponseComposite;
declare namespace stats {
  export { stats_getGetMostTradedCollectionsUrl as getGetMostTradedCollectionsUrl, stats_getMostTradedCollections as getMostTradedCollections, type stats_getMostTradedCollectionsResponse as getMostTradedCollectionsResponse, type stats_getMostTradedCollectionsResponse200 as getMostTradedCollectionsResponse200, type stats_getMostTradedCollectionsResponse404 as getMostTradedCollectionsResponse404, type stats_getMostTradedCollectionsResponseComposite as getMostTradedCollectionsResponseComposite };
}

/**
 * Generated by orval v7.8.0 🍺
 * Do not edit manually.
 * Saturn Indexer API
 * API for querying data from the Saturn bitcoin rune trading platform
 * OpenAPI spec version: 0.1.0
 */

/**
 * Paginated list of all transactions that match the provided filter
 */
type findAllTransactionsResponse200 = {
    data: PaginationResponseVecTransaction;
    status: 200;
};
type findAllTransactionsResponseComposite = findAllTransactionsResponse200;
type findAllTransactionsResponse = findAllTransactionsResponseComposite & {
    headers: Headers;
};
declare const getFindAllTransactionsUrl: (params?: FindAllTransactionsParams) => string;
declare const findAllTransactions: (params?: FindAllTransactionsParams, options?: RequestInit) => Promise<findAllTransactionsResponse>;
/**
 * Get a paginated list of all transactions in the specified pool that match the provided filter
 */
type findTransactionsByPoolIdResponse200 = {
    data: PaginationResponseVecTransaction;
    status: 200;
};
type findTransactionsByPoolIdResponse400 = {
    data: void;
    status: 400;
};
type findTransactionsByPoolIdResponseComposite = findTransactionsByPoolIdResponse200 | findTransactionsByPoolIdResponse400;
type findTransactionsByPoolIdResponse = findTransactionsByPoolIdResponseComposite & {
    headers: Headers;
};
declare const getFindTransactionsByPoolIdUrl: (poolId: string, params?: FindTransactionsByPoolIdParams) => string;
declare const findTransactionsByPoolId: (poolId: string, params?: FindTransactionsByPoolIdParams, options?: RequestInit) => Promise<findTransactionsByPoolIdResponse>;
/**
 * Get transactions that have any of the given previous transactions and belong to a specific user
 */
type findTransactionsByPrevTransactionsResponse200 = {
    data: PaginationResponseVecTransaction;
    status: 200;
};
type findTransactionsByPrevTransactionsResponse400 = {
    data: void;
    status: 400;
};
type findTransactionsByPrevTransactionsResponseComposite = findTransactionsByPrevTransactionsResponse200 | findTransactionsByPrevTransactionsResponse400;
type findTransactionsByPrevTransactionsResponse = findTransactionsByPrevTransactionsResponseComposite & {
    headers: Headers;
};
declare const getFindTransactionsByPrevTransactionsUrl: (pubkey: string, params: FindTransactionsByPrevTransactionsParams) => string;
declare const findTransactionsByPrevTransactions: (pubkey: string, params: FindTransactionsByPrevTransactionsParams, options?: RequestInit) => Promise<findTransactionsByPrevTransactionsResponse>;
/**
 * List of swap transactions for specific collections
 */
type findSwapsByCollectionsResponse200 = {
    data: PaginationResponseVecTransactionResponse;
    status: 200;
};
type findSwapsByCollectionsResponseComposite = findSwapsByCollectionsResponse200;
type findSwapsByCollectionsResponse = findSwapsByCollectionsResponseComposite & {
    headers: Headers;
};
declare const getFindSwapsByCollectionsUrl: (params: FindSwapsByCollectionsParams) => string;
declare const findSwapsByCollections: (params: FindSwapsByCollectionsParams, options?: RequestInit) => Promise<findSwapsByCollectionsResponse>;
/**
 * Fetches a paginated list of user's transactions that match the provided filter
 */
type findTransactionsByUserResponse200 = {
    data: PaginationResponseVecTransactionResponse;
    status: 200;
};
type findTransactionsByUserResponse400 = {
    data: void;
    status: 400;
};
type findTransactionsByUserResponseComposite = findTransactionsByUserResponse200 | findTransactionsByUserResponse400;
type findTransactionsByUserResponse = findTransactionsByUserResponseComposite & {
    headers: Headers;
};
declare const getFindTransactionsByUserUrl: (pubkey: string, params?: FindTransactionsByUserParams) => string;
declare const findTransactionsByUser: (pubkey: string, params?: FindTransactionsByUserParams, options?: RequestInit) => Promise<findTransactionsByUserResponse>;

declare const transaction_findAllTransactions: typeof findAllTransactions;
type transaction_findAllTransactionsResponse = findAllTransactionsResponse;
type transaction_findAllTransactionsResponse200 = findAllTransactionsResponse200;
type transaction_findAllTransactionsResponseComposite = findAllTransactionsResponseComposite;
declare const transaction_findSwapsByCollections: typeof findSwapsByCollections;
type transaction_findSwapsByCollectionsResponse = findSwapsByCollectionsResponse;
type transaction_findSwapsByCollectionsResponse200 = findSwapsByCollectionsResponse200;
type transaction_findSwapsByCollectionsResponseComposite = findSwapsByCollectionsResponseComposite;
declare const transaction_findTransactionsByPoolId: typeof findTransactionsByPoolId;
type transaction_findTransactionsByPoolIdResponse = findTransactionsByPoolIdResponse;
type transaction_findTransactionsByPoolIdResponse200 = findTransactionsByPoolIdResponse200;
type transaction_findTransactionsByPoolIdResponse400 = findTransactionsByPoolIdResponse400;
type transaction_findTransactionsByPoolIdResponseComposite = findTransactionsByPoolIdResponseComposite;
declare const transaction_findTransactionsByPrevTransactions: typeof findTransactionsByPrevTransactions;
type transaction_findTransactionsByPrevTransactionsResponse = findTransactionsByPrevTransactionsResponse;
type transaction_findTransactionsByPrevTransactionsResponse200 = findTransactionsByPrevTransactionsResponse200;
type transaction_findTransactionsByPrevTransactionsResponse400 = findTransactionsByPrevTransactionsResponse400;
type transaction_findTransactionsByPrevTransactionsResponseComposite = findTransactionsByPrevTransactionsResponseComposite;
declare const transaction_findTransactionsByUser: typeof findTransactionsByUser;
type transaction_findTransactionsByUserResponse = findTransactionsByUserResponse;
type transaction_findTransactionsByUserResponse200 = findTransactionsByUserResponse200;
type transaction_findTransactionsByUserResponse400 = findTransactionsByUserResponse400;
type transaction_findTransactionsByUserResponseComposite = findTransactionsByUserResponseComposite;
declare const transaction_getFindAllTransactionsUrl: typeof getFindAllTransactionsUrl;
declare const transaction_getFindSwapsByCollectionsUrl: typeof getFindSwapsByCollectionsUrl;
declare const transaction_getFindTransactionsByPoolIdUrl: typeof getFindTransactionsByPoolIdUrl;
declare const transaction_getFindTransactionsByPrevTransactionsUrl: typeof getFindTransactionsByPrevTransactionsUrl;
declare const transaction_getFindTransactionsByUserUrl: typeof getFindTransactionsByUserUrl;
declare namespace transaction {
  export { transaction_findAllTransactions as findAllTransactions, type transaction_findAllTransactionsResponse as findAllTransactionsResponse, type transaction_findAllTransactionsResponse200 as findAllTransactionsResponse200, type transaction_findAllTransactionsResponseComposite as findAllTransactionsResponseComposite, transaction_findSwapsByCollections as findSwapsByCollections, type transaction_findSwapsByCollectionsResponse as findSwapsByCollectionsResponse, type transaction_findSwapsByCollectionsResponse200 as findSwapsByCollectionsResponse200, type transaction_findSwapsByCollectionsResponseComposite as findSwapsByCollectionsResponseComposite, transaction_findTransactionsByPoolId as findTransactionsByPoolId, type transaction_findTransactionsByPoolIdResponse as findTransactionsByPoolIdResponse, type transaction_findTransactionsByPoolIdResponse200 as findTransactionsByPoolIdResponse200, type transaction_findTransactionsByPoolIdResponse400 as findTransactionsByPoolIdResponse400, type transaction_findTransactionsByPoolIdResponseComposite as findTransactionsByPoolIdResponseComposite, transaction_findTransactionsByPrevTransactions as findTransactionsByPrevTransactions, type transaction_findTransactionsByPrevTransactionsResponse as findTransactionsByPrevTransactionsResponse, type transaction_findTransactionsByPrevTransactionsResponse200 as findTransactionsByPrevTransactionsResponse200, type transaction_findTransactionsByPrevTransactionsResponse400 as findTransactionsByPrevTransactionsResponse400, type transaction_findTransactionsByPrevTransactionsResponseComposite as findTransactionsByPrevTransactionsResponseComposite, transaction_findTransactionsByUser as findTransactionsByUser, type transaction_findTransactionsByUserResponse as findTransactionsByUserResponse, type transaction_findTransactionsByUserResponse200 as findTransactionsByUserResponse200, type transaction_findTransactionsByUserResponse400 as findTransactionsByUserResponse400, type transaction_findTransactionsByUserResponseComposite as findTransactionsByUserResponseComposite, transaction_getFindAllTransactionsUrl as getFindAllTransactionsUrl, transaction_getFindSwapsByCollectionsUrl as getFindSwapsByCollectionsUrl, transaction_getFindTransactionsByPoolIdUrl as getFindTransactionsByPoolIdUrl, transaction_getFindTransactionsByPrevTransactionsUrl as getFindTransactionsByPrevTransactionsUrl, transaction_getFindTransactionsByUserUrl as getFindTransactionsByUserUrl };
}

interface SwapEvent {
    assetPair: AssetPair;
    price: string;
    amountIn: string;
    amountOut: string;
    zeroToOne: boolean;
    feeToken0: string;
    feeToken1: string;
    createdAt: string;
}
/**
 * Event types that can be subscribed to
 */
declare enum EventType {
    Swap = "swap",
    Transaction = "transaction"
}
/**
 * Map of event types to their corresponding data types
 */
interface EventDataMap {
    [EventType.Swap]: SwapEvent;
    [EventType.Transaction]: Transaction;
}
/**
 * Structure of events sent by the server
 */
interface ServerEvent<T extends EventType> {
    type: T;
    data: EventDataMap[T];
}
/**
 * Filter criteria for events
 * A simple key-value map where keys are event properties and values are filter values
 */
interface EventFilter {
    [EventType.Swap]: Partial<{
        [key in keyof SwapEvent]: string;
    }>;
    [EventType.Transaction]: Partial<{
        [key in keyof Transaction]: string;
    }>;
}
/**
 * A topic to subscribe to with optional filters
 */
interface SubscriptionTopic<T extends EventType> {
    event_type: T;
    filters: EventFilter[T];
}
interface UnsubscribeFilter<T extends EventType> {
    event_type: T;
    filter: EventFilter[T];
}

/**
 * WebSocket connection event types
 */
declare enum ConnectionEventType {
    Connected = "connected",
    Disconnected = "disconnected",
    Error = "error",
    Reconnecting = "reconnecting"
}
/**
 * Handler for connection events
 */
type ConnectionEventHandler = (event: {
    type: ConnectionEventType;
    data?: any;
}) => void;
type EventHandler<T extends EventType> = (data: EventDataMap[T]) => void;
declare enum Action {
    Subscribe = "Subscribe",
    Unsubscribe = "Unsubscribe",
    UnsubscribeFilters = "UnsubscribeFilters"
}
interface SubscriptionMessage {
    action: Action;
    topics: SubscriptionTopic<any>[] | EventType[] | UnsubscribeFilter<any>[];
}
/**
 * Configuration options for the WebSocketClient
 */
interface WebSocketClientOptions {
    /**
     * Maximum number of reconnection attempts.
     * Set 0 for unlimited attempts.
     * @default 5
     */
    maxReconnectAttempts?: number;
    /**
     * Time in milliseconds between reconnection attempts
     * @default 2000
     */
    reconnectInterval?: number;
    /**
     * Interval in milliseconds to send application-level pings to the server.
     * Set to 0 or undefined to disable.
     * @default 10000 (enabled)
     */
    pingInterval?: number;
    /**
     * Time in milliseconds to wait for any message from the server after sending a ping.
     * If the timeout is reached, the connection is considered stale and will be closed.
     * Only applicable if pingInterval is enabled.
     * @default 10000
     */
    pongTimeout?: number;
    /**
     * Full URL of the WebSocket server
     */
    url: string;
}
declare class WebSocketClient {
    private socket;
    private eventHandlers;
    private connectionPromise;
    private url;
    private reconnectAttempts;
    private readonly maxReconnectAttempts;
    private readonly reconnectInterval;
    private connectionEventHandlers;
    private readonly pingInterval;
    private readonly pongTimeout;
    private pingIntervalId;
    private pongTimeoutId;
    constructor(options: WebSocketClientOptions);
    /**
     * Connect to the WebSocket server
     */
    connect(): Promise<WebSocket>;
    /**
     * Subscribe to one or more event types with optional filters
     */
    subscribe(topics: Array<EventType | SubscriptionTopic<any>>): Promise<void>;
    /**
     * Subscribe to an event type with specific filters
     */
    subscribeWithFilter(eventType: EventType, filter: EventFilter): Promise<void>;
    /**
     * Unsubscribe from one or more event types
     */
    unsubscribe(topics: EventType[]): Promise<void>;
    /**
     * Unsubscribe from specific filters for an event type
     */
    unsubscribeFilters(filters: UnsubscribeFilter<any>[]): Promise<void>;
    /**
     * Unsubscribe from a specific filter for an event type
     */
    unsubscribeFilter<T extends EventType>(eventType: T, filter: EventFilter[T]): Promise<void>;
    /**
     * Handle incoming events from the server
     */
    private handleEvent;
    /**
     * Register an event handler for a specific event type
     * @param eventType The type of event to listen for
     * @param handler The callback function to execute when an event is received
     * @returns A function that can be called to remove this event handler
     */
    on<T extends EventType>(eventType: T, handler: EventHandler<T>): () => void;
    /**
     * Register an event handler for a specific event type that will be executed only once
     * @param eventType The type of event to listen for
     * @param handler The callback function to execute when an event is received
     * @returns A function that can be called to remove this event handler
     */
    once<T extends EventType>(eventType: T, handler: EventHandler<T>): () => void;
    /**
     * Register a handler for connection events
     * @param eventType The type of connection event to listen for
     * @param handler The callback function to execute when the event occurs
     * @returns A function that can be called to remove this event handler
     */
    onConnection(eventType: ConnectionEventType, handler: ConnectionEventHandler): () => void;
    /**
     * Register a handler for connection events that will be executed only once
     * @param eventType The type of connection event to listen for
     * @param handler The callback function to execute when the event occurs
     * @returns A function that can be called to remove this event handler
     */
    onceConnection(eventType: ConnectionEventType, handler: ConnectionEventHandler): () => void;
    /**
     * Trigger connection event handlers
     * @private
     */
    private triggerConnectionEvent;
    /**
     * Close the WebSocket connection
     */
    close(): void;
    /**
     * Remove a specific connection event handler
     * @param eventType The type of connection event
     * @param handler The handler function to remove
     */
    offConnection(eventType: ConnectionEventType, handler: ConnectionEventHandler): void;
    /**
     * Remove all handlers for a specific connection event type
     * @param eventType The type of connection event
     */
    offAllConnections(eventType: ConnectionEventType): void;
    /**
     * Remove all connection event handlers
     */
    offAllConnectionEvents(): void;
    private startPinging;
    private stopPinging;
}

/**
 * This class is the main SDK.
 * When instantiated, it sets the base URL for all API requests.
 * The generated API functions are then exposed as a public member.
 */
declare class SaturnIndexerSDK {
    api: {
        collection: typeof collection;
        pool: typeof pool;
        position: typeof position;
        ohlc: typeof ohlc;
        price: typeof price;
        stats: typeof stats;
        transaction: typeof transaction;
    };
    constructor(baseUrl: string);
}

export { Action, type AddPoolShardsData, type AddPoolShardsDataPrevTransaction, type ApiError, type ApiErrorOneOf, type ApiErrorOneOfThree, type ApiErrorOneOfTwo, type AssetPair, type BTCCollection, type BTCCollectionSymbol, BitcoinTxStatus, type CollectProtocolFeesData, type Collection, type CollectionOneOf, type CollectionOneOfAllOf, CollectionOneOfAllOfType, type CollectionOneOfFour, type CollectionOneOfFourAllOf, CollectionOneOfFourAllOfType, type CollectionPairStats, type CollectionPairStatsForPeriod, type CollectionSearchFilter, type CollectionSearchFilterAddress, type CollectionSearchFilterLimit, type CollectionSearchFilterName, type CollectionSearchFilterOffset, type CollectionSearchFilterSort, type ConnectionEventHandler, ConnectionEventType, type EventDataMap, type EventFilter, type EventHandler, EventType, type FailedTransaction, type FindAllTransactionsParams, type FindByIdsParams, type FindManyByIdsRequest, type FindManyByTokenIdsParams, type FindManyByTokenNamesParams, type FindParams, type FindSwapsByCollectionsParams, type FindTransactionsByPoolIdParams, type FindTransactionsByPrevTransactionsParams, type FindTransactionsByUserParams, type GetCollectionsByIdsParams, type GetCollectionsByNamesParams, type GetOhlcDataParams, type GetPricesForCollectionsParams, type GroupedPoolStat, type GroupedPoolStatApy24h, type GroupedPoolStatApy7d, type GroupedPoolStatFees24h, type GroupedPoolStatFees7d, type GroupedPoolStatVolume24h, type GroupedPoolStatVolume7d, type GroupedPoolStatVolumeDiff24h, type IdentifiableLiquidityPool, type IdentifiableLiquidityPoolAllOf, type IdentifiableLiquidityPoolShard, type IdentifiableLiquidityPoolShardAllOf, type InitializePoolData, type InitializePoolDataPrevTransaction, type LiquidityPool, type LiquidityPoolConfig, type LiquidityPoolShardJson, type LiquidityPoolShardJsonRuneUtxo, type MintEntity, type MintEntityEnd, type MintEntityStart, type MintableCollection, type MintableCollectionAllOf, type MintableCollectionSearchFilter, type MintableCollectionSearchFilterLimit, type MintableCollectionSearchFilterName, type MintableCollectionSearchFilterOffset, type MintableCollectionSearchFilterSort, type NeedsConsolidation, type NeedsConsolidationOneOf, type NeedsConsolidationOneOfThree, NeedsConsolidationOneOfThreeType, NeedsConsolidationOneOfType, type OHLCData, OHLCGranularity, type PaginationResponseVecCollection, type PaginationResponseVecCollectionResponseItem, type PaginationResponseVecCollectionResponseItemOneOf, type PaginationResponseVecCollectionResponseItemOneOfAllOf, PaginationResponseVecCollectionResponseItemOneOfAllOfType, type PaginationResponseVecCollectionResponseItemOneOfFour, type PaginationResponseVecCollectionResponseItemOneOfFourAllOf, PaginationResponseVecCollectionResponseItemOneOfFourAllOfType, type PaginationResponseVecMintableCollection, type PaginationResponseVecMintableCollectionResponseItem, type PaginationResponseVecMintableCollectionResponseItemAllOf, type PaginationResponseVecPoolStats, type PaginationResponseVecPoolStatsResponseItem, type PaginationResponseVecPoolStatsResponseItemApy24h, type PaginationResponseVecPoolStatsResponseItemApy7d, type PaginationResponseVecPoolStatsResponseItemFees24h, type PaginationResponseVecPoolStatsResponseItemFees7d, type PaginationResponseVecPoolStatsResponseItemTvl24hAgo, type PaginationResponseVecPoolStatsResponseItemTvlDiff, type PaginationResponseVecPoolStatsResponseItemTvlNow, type PaginationResponseVecPoolStatsResponseItemVolume24h, type PaginationResponseVecPoolStatsResponseItemVolume7d, type PaginationResponseVecPoolStatsResponseItemVolumeDiff24h, type PaginationResponseVecPoolStatsResponseItemVolumePrev24h, type PaginationResponseVecPoolsStatsByTokens, type PaginationResponseVecPoolsStatsByTokensResponseItem, type PaginationResponseVecPoolsStatsByTokensResponseItemFees24h, type PaginationResponseVecPoolsStatsByTokensResponseItemLarger24hApy, type PaginationResponseVecPoolsStatsByTokensResponseItemLarger7dApy, type PaginationResponseVecPoolsStatsByTokensResponseItemSmaller24hApy, type PaginationResponseVecPoolsStatsByTokensResponseItemSmaller7dApy, type PaginationResponseVecPoolsStatsByTokensResponseItemVolume24h, type PaginationResponseVecPoolsStatsByTokensResponseItemVolume7d, type PaginationResponseVecPoolsStatsByTokensResponseItemVolumeDiff24h, type PaginationResponseVecPositionResult, type PaginationResponseVecPositionResultResponseItem, type PaginationResponseVecPositionResultResponseItemEstimatedApy24h, type PaginationResponseVecPositionResultResponseItemEstimatedApy7d, type PaginationResponseVecTransaction, type PaginationResponseVecTransactionResponse, type PaginationResponseVecTransactionResponsePropertyItem, type PaginationResponseVecTransactionResponseResponseItem, type PendingToSend, Period, type PoolSearchFilter, type PoolSearchFilterLimit, type PoolSearchFilterMinTvl, type PoolSearchFilterMinVolume, type PoolSearchFilterName, type PoolSearchFilterOffset, type PoolSearchFilterSort, type PoolSearchFilterUserAddress, type PoolStats, type PoolStatsApy24h, type PoolStatsApy7d, type PoolStatsFees24h, type PoolStatsFees7d, type PoolStatsTvl24hAgo, type PoolStatsTvlDiff, type PoolStatsTvlNow, type PoolStatsVolume24h, type PoolStatsVolume7d, type PoolStatsVolumeDiff24h, type PoolStatsVolumePrev24h, type PoolsStatsByTokens, type PoolsStatsByTokensFees24h, type PoolsStatsByTokensLarger24hApy, type PoolsStatsByTokensLarger7dApy, type PoolsStatsByTokensSmaller24hApy, type PoolsStatsByTokensSmaller7dApy, type PoolsStatsByTokensVolume24h, type PoolsStatsByTokensVolume7d, type PoolsStatsByTokensVolumeDiff24h, type Position, type PositionData, type PositionDetails, type PositionResult, type PositionResultEstimatedApy24h, type PositionResultEstimatedApy7d, type PositionSearchFilter, type PositionSearchFilterLimit, type PositionSearchFilterMinLiquidity, type PositionSearchFilterName, type PositionSearchFilterOffset, type PositionState, type Price, type PriceChange, type QueryCollection, type QueryCollectionOneOf, type QueryCollectionOneOfTwo, type RollbackStatusSchema, type RollbackStatusSchemaOneOf, type RollbackStatusSchemaOneOfThree, RollbackStatusSchemaOneOfThreeType, RollbackStatusSchemaOneOfType, type RuneAmountJson, type RuneCollection, type RuneCollectionIcon, type RuneCollectionSymbol, type RuneCollectionTransactionId, SaturnIndexerSDK, WebSocketClient as SaturnIndexerWebSocketClient, type ServerEvent, type SortFieldSortFieldCollection, SortFieldSortFieldCollectionField, type SortFieldSortFieldPool, SortFieldSortFieldPoolField, type SortFieldSortMintableFieldCollection, SortFieldSortMintableFieldCollectionField, SortOrder, type StatusSchema, type StatusSchemaOneOf, type StatusSchemaOneOfFive, StatusSchemaOneOfFiveType, type StatusSchemaOneOfThree, StatusSchemaOneOfThreeType, StatusSchemaOneOfType, type SubscriptionMessage, type SubscriptionTopic, type SuccessfulTransaction, type SuccessfulTransactionBitcoinBlockHeight, type SuccessfulTransactionBitcoinTxId, type SuccessfulTransactionBitcoinTxStatus, type SwapBalance, type SwapData, type SwapEvent, type TaprootAddress, type Transaction, type TransactionDetails, type TransactionDetailsOneOf, type TransactionDetailsOneOfAllOf, TransactionDetailsOneOfAllOfType, type TransactionDetailsOneOfFour, type TransactionDetailsOneOfFourAllOf, TransactionDetailsOneOfFourAllOfType, type TransactionDetailsOneOfOnenine, type TransactionDetailsOneOfOnenineAllOf, TransactionDetailsOneOfOnenineAllOfType, type TransactionDetailsOneOfOnesix, type TransactionDetailsOneOfOnesixAllOf, TransactionDetailsOneOfOnesixAllOfType, type TransactionDetailsOneOfOnethree, type TransactionDetailsOneOfOnethreeAllOf, TransactionDetailsOneOfOnethreeAllOfType, type TransactionDetailsOneOfOnezero, type TransactionDetailsOneOfOnezeroAllOf, TransactionDetailsOneOfOnezeroAllOfType, type TransactionDetailsOneOfSeven, type TransactionDetailsOneOfSevenAllOf, TransactionDetailsOneOfSevenAllOfType, type TransactionDetailsOneOfTwotwo, type TransactionDetailsOneOfTwotwoAllOf, TransactionDetailsOneOfTwotwoAllOfType, type TransactionResponse, TransactionType, type UnsubscribeFilter, type UtxoInfoJson, WebSocketClient, type WebSocketClientOptions };
