import { components } from '@blockfrost/openapi';
import { BlockFrostAPI } from '../../../index';
import { AllMethodOptions, PaginationOptions } from '../../../types';
/**
 * Obtains list of registered stake pools (paginated).
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools/get | API docs for List of stake pools}
 *
 * @param pagination - Optional, Pagination options
 * @returns List of registered stake pools.
 *
 */
export declare function pools(this: BlockFrostAPI, pagination?: PaginationOptions): Promise<components['schemas']['pool_list']>;
/**
 * Obtains list of all registered stake pools.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools/get | API docs for List of stake pools}
 * @remarks
 * Variant of `pools` method for fetching all pages with built-in requests batching
 *
 * @param allMethodOptions - Optional, Options for request batching
 * @returns List of registered stake pools.
 *
 */
export declare function poolsAll(this: BlockFrostAPI, allMethodOptions?: AllMethodOptions): Promise<components['schemas']['pool_list']>;
export declare function poolsRetired(this: BlockFrostAPI, pagination?: PaginationOptions): Promise<components['schemas']['pool_list_retire']>;
/**
 * Obtains list of stake pools retiring in the upcoming epochs (paginated).
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1retiring/get | API docs for List of retiring stake pools}
 *
 * @param pagination - Optional, Pagination options
 * @returns List of stake pools retiring in the upcoming epochs
 *
 */
export declare function poolsRetiring(this: BlockFrostAPI, pagination?: PaginationOptions): Promise<components['schemas']['pool_list_retire']>;
/**
 * Obtains information of a specific stake pool.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1%7Bpool_id%7D/get | API docs for Stake Pool}
 *
 * @param poolId - Pool ID
 * @returns Information of a specific stake pool.
 *
 */
export declare function poolsById(this: BlockFrostAPI, poolId: string): Promise<components['schemas']['pool']>;
/**
 * Obtains history of stake pool parameters over epochs (paginated).
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1%7Bpool_id%7D~1history/get | API docs for Stake pool history}
 *
 * @param poolId - Pool ID
 * @param pagination - Optional, Pagination options
 * @returns List of stake pool parameters per epoch
 *
 */
export declare function poolsByIdHistory(this: BlockFrostAPI, poolId: string, pagination?: PaginationOptions): Promise<components['schemas']['pool_history']>;
/**
 * Obtains stake pool registration metadata.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1%7Bpool_id%7D~1metadata/get | API docs for Stake pool metadata}
 *
 * @param poolId - Pool ID
 * @returns Stake pool registration metadata
 *
 */
export declare function poolMetadata(this: BlockFrostAPI, poolId: string): Promise<components['schemas']['pool_metadata']>;
/**
 * Obtains stake pool relays.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1%7Bpool_id%7D~1relays/get | API docs for Stake pool relays}
 *
 * @param poolId - Pool ID
 * @returns Stake pool relays
 *
 */
export declare function poolsByIdRelays(this: BlockFrostAPI, poolId: string): Promise<components['schemas']['pool_relays']>;
/**
 * Obtains current stake pool delegators.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1%7Bpool_id%7D~delegators/get | API docs for Stake pool delegators}
 *
 * @param poolId - Pool ID
 * @returns Current stake pool delegators
 *
 */
export declare function poolsByIdDelegators(this: BlockFrostAPI, poolId: string, pagination?: PaginationOptions): Promise<components['schemas']['pool_delegators']>;
/**
 * Obtains list of stake pool blocks.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1%7Bpool_id%7D~1blocks/get | API docs for Stake pool blocks}
 *
 * @param poolId - Pool ID
 * @param pagination - Optional, Pagination options
 * @returns List of stake pool blocks
 *
 */
export declare function poolsByIdBlocks(this: BlockFrostAPI, poolId: string, pagination?: PaginationOptions): Promise<components['schemas']['pool_blocks']>;
/**
 * Obtains list of certificate updates to the stake pool.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1%7Bpool_id%7D~1updates/get | API docs for Stake pool updates}
 *
 * @param poolId - Pool ID
 * @param pagination - Optional, Pagination options
 * @returns List of certificate updates to the stake pool
 *
 */
export declare function poolsByIdUpdates(this: BlockFrostAPI, poolId: string, pagination?: PaginationOptions): Promise<components['schemas']['pool_updates']>;
/**
 * Obtains list of registered stake pools with additional information.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1extended/get | API docs for List of stake pools with additional information}
 *
 * @returns List of registered stake pools with additional information
 *
 */
export declare function poolsExtended(this: BlockFrostAPI, pagination?: PaginationOptions): Promise<components['schemas']['pool_list_extended']>;
/**
 * Obtains list of registered stake pools with additional information.
 * @see {@link https://docs.blockfrost.io/#tag/Cardano-Pools/paths/~1pools~1extended/get | API docs for List of stake pools with additional information}
 * @remarks
 * Variant of `poolsExtended` method for fetching all pages with built-in requests batching
 *
 * @param allMethodOptions - Optional, Options for request batching
 * @returns List of registered stake pools with additional information
 *
 */
export declare function poolsExtendedAll(this: BlockFrostAPI, allMethodOptions?: AllMethodOptions): Promise<components['schemas']['pool_list_extended']>;
