import { PublicKey } from '@solarti/web3.js';
import { AuctionHouse, LazyListing, Listing } from '../models';
import { Operation, OperationHandler } from '../../../types';
declare const Key: "FindListingsOperation";
/**
 * Finds Listings by multiple criteria.
 *
 * ```ts
 * // Find all listings in an Auction House.
 * const listings = await metaplex
 *   .auctionHouse()
 *   .findListings({ auctionHouse });
 *
 * // Find listings by seller and mint.
 * const listings = await metaplex
 *   .auctionHouse()
 *   .findListings({ auctionHouse, seller, mint });
 * ```
 *
 * @group Operations
 * @category Constructors
 */
export declare const findListingsOperation: import("../../../types").OperationConstructor<FindListingsOperation, "FindListingsOperation", FindListingsInput, FindListingsOutput>;
/**
 * @group Operations
 * @category Types
 */
export declare type FindListingsOperation = Operation<typeof Key, FindListingsInput, FindListingsOutput>;
/**
 * @group Operations
 * @category Inputs
 */
export declare type FindListingsInput = {
    /** A model of the Auction House related to these listings. */
    auctionHouse: AuctionHouse;
    /** The address of a seller to search by. */
    seller?: PublicKey;
    /**
     * The address of metadata to search by.
     * Ignored when mint provided.
     */
    metadata?: PublicKey;
    /** The address of a mint to search by. */
    mint?: PublicKey;
};
/**
 * @group Operations
 * @category Outputs
 */
export declare type FindListingsOutput = (Listing | LazyListing)[];
/**
 * @group Operations
 * @category Handlers
 */
export declare const findListingsOperationHandler: OperationHandler<FindListingsOperation>;
export {};
