import { AccessLevelList } from '../../shared/access-level';
import { PolicyStatement } from '../../shared';
import { aws_iam as iam } from "aws-cdk-lib";
/**
 * Statement provider for service [aws-marketplace-discovery](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsmarketplacediscovery.html).
 *
 * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
 */
export declare class AwsMarketplaceDiscovery extends PolicyStatement {
    servicePrefix: string;
    /**
     * Grants permission to retrieve information about a listing
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/marketplace/latest/APIReference/API_marketplace-discovery_GetListing.html
     */
    toGetListing(): this;
    /**
     * Grants permission to retrieve information about an offer
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/marketplace/latest/APIReference/API_marketplace-discovery_GetOffer.html
     */
    toGetOffer(): this;
    /**
     * Grants permission to retrieve information about an offer set
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/marketplace/latest/APIReference/API_marketplace-discovery_GetOfferSet.html
     */
    toGetOfferSet(): this;
    /**
     * Grants permission to retrieve terms for an offer
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/marketplace/latest/APIReference/API_marketplace-discovery_GetOfferTerms.html
     */
    toGetOfferTerms(): this;
    /**
     * Grants permission to retrieve information about a product
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/marketplace/latest/APIReference/API_marketplace-discovery_GetProduct.html
     */
    toGetProduct(): this;
    /**
     * Grants permission to list fulfillment options for a product
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/marketplace/latest/APIReference/API_marketplace-discovery_ListFulfillmentOptions.html
     */
    toListFulfillmentOptions(): this;
    /**
     * Grants permission to list private offers
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/marketplace/latest/buyerguide/private-offers-page.html
     */
    toListPrivateListings(): this;
    /**
     * Grants permission to list purchase options available to the buyer
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/marketplace/latest/APIReference/API_marketplace-discovery_ListPurchaseOptions.html
     */
    toListPurchaseOptions(): this;
    /**
     * Grants permission to search for facet values to filter listings
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/marketplace/latest/APIReference/API_marketplace-discovery_SearchFacets.html
     */
    toSearchFacets(): this;
    /**
     * Grants permission to search for product listings
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/marketplace/latest/APIReference/API_marketplace-discovery_SearchListings.html
     */
    toSearchListings(): this;
    protected accessLevelList: AccessLevelList;
    /**
     * Adds a resource of type Product to the statement
     *
     * https://docs.aws.amazon.com/marketplace/latest/APIReference/discovery-apis.html#discovery-data-model
     *
     * @param catalogName - Identifier for the catalogName.
     * @param productId - Identifier for the productId.
     * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
     */
    onProduct(catalogName: string, productId: string, partition?: string): this;
    /**
     * Adds a resource of type Listing to the statement
     *
     * https://docs.aws.amazon.com/marketplace/latest/APIReference/discovery-apis.html#discovery-data-model
     *
     * @param catalogName - Identifier for the catalogName.
     * @param listingId - Identifier for the listingId.
     * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
     */
    onListing(catalogName: string, listingId: string, partition?: string): this;
    /**
     * Adds a resource of type AllListings to the statement
     *
     * https://docs.aws.amazon.com/marketplace/latest/APIReference/discovery-apis.html#discovery-data-model
     *
     * @param catalogName - Identifier for the catalogName.
     * @param resourceName - Identifier for the resourceName.
     * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
     */
    onAllListings(catalogName: string, resourceName: string, partition?: string): this;
    /**
     * Adds a resource of type Offer to the statement
     *
     * https://docs.aws.amazon.com/marketplace/latest/APIReference/discovery-apis.html#discovery-data-model
     *
     * @param catalogName - Identifier for the catalogName.
     * @param offerId - Identifier for the offerId.
     * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
     */
    onOffer(catalogName: string, offerId: string, partition?: string): this;
    /**
     * Adds a resource of type OfferSet to the statement
     *
     * https://docs.aws.amazon.com/marketplace/latest/APIReference/discovery-apis.html#discovery-data-model
     *
     * @param catalogName - Identifier for the catalogName.
     * @param offerSetId - Identifier for the offerSetId.
     * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
     */
    onOfferSet(catalogName: string, offerSetId: string, partition?: string): this;
    /**
     * Adds a resource of type PurchaseOption to the statement
     *
     * https://docs.aws.amazon.com/marketplace/latest/APIReference/discovery-apis.html#discovery-data-model
     *
     * @param catalogName - Identifier for the catalogName.
     * @param purchaseOptionId - Identifier for the purchaseOptionId.
     * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
     */
    onPurchaseOption(catalogName: string, purchaseOptionId: string, partition?: string): this;
    /**
     * Adds a resource of type AllPurchaseOptions to the statement
     *
     * https://docs.aws.amazon.com/marketplace/latest/APIReference/discovery-apis.html#discovery-data-model
     *
     * @param catalogName - Identifier for the catalogName.
     * @param resourceName - Identifier for the resourceName.
     * @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
     */
    onAllPurchaseOptions(catalogName: string, resourceName: string, partition?: string): this;
    /**
     * Statement provider for service [aws-marketplace-discovery](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsmarketplacediscovery.html).
     *
     */
    constructor(props?: iam.PolicyStatementProps);
}
