export interface EntityRequest {
    /** The name of the catalog the entity is present in. The only value at this time is AWSMarketplace. */
    Catalog: string;
    /** The ID of the entity. */
    EntityId: string;
}
export interface Filter {
    /** For ListEntities, the supported value for this is an EntityId. For ListChangeSets, the supported values are as follows: */
    Name?: string;
    /** ListEntities - This is a list of unique EntityIds. ListChangeSets - The supported filter names and associated ValueLists is as follows: ChangeSetName - The supported ValueList is a list of non-unique  */
    ValueList?: any[];
}
export interface Sort {
    /** For ListEntities, supported attributes include LastModifiedDate (default) and EntityId. In addition to LastModifiedDate and EntityId, each EntityType might support additional fields. For ListChangeSet */
    SortBy?: string;
    /** The sorting order. Can be ASCENDING or DESCENDING. The default value is DESCENDING. */
    SortOrder?: 'ASCENDING' | 'DESCENDING';
}
export interface DataProductFilters {
    /** Unique identifier for the data product. */
    EntityId?: any;
    /** The title of the data product. */
    ProductTitle?: any;
    /** The visibility of the data product. */
    Visibility?: any;
    /** The last date on which the data product was modified. */
    LastModifiedDate?: any;
}
export interface SaaSProductFilters {
    /** Unique identifier for the SaaS product. */
    EntityId?: any;
    /** The title of the SaaS product. */
    ProductTitle?: any;
    /** The visibility of the SaaS product. */
    Visibility?: any;
    /** The last date on which the SaaS product was modified. */
    LastModifiedDate?: any;
}
export interface AmiProductFilters {
    /** Unique identifier for the AMI product. */
    EntityId?: any;
    /** The last date on which the AMI product was modified. */
    LastModifiedDate?: any;
    /** The title of the AMI product. */
    ProductTitle?: any;
    /** The visibility of the AMI product. */
    Visibility?: any;
}
export interface OfferFilters {
    /** Allows filtering on EntityId of an offer. */
    EntityId?: any;
    /** Allows filtering on the Name of an offer. */
    Name?: any;
    /** Allows filtering on the ProductId of an offer. */
    ProductId?: any;
    /** Allows filtering on the ResaleAuthorizationId of an offer. Not all offers have a ResaleAuthorizationId. The response will only include offers for which you have permissions. */
    ResaleAuthorizationId?: any;
    /** Allows filtering on the ReleaseDate of an offer. */
    ReleaseDate?: any;
    /** Allows filtering on the AvailabilityEndDate of an offer. */
    AvailabilityEndDate?: any;
    /** Allows filtering on the BuyerAccounts of an offer. */
    BuyerAccounts?: any;
    /** Allows filtering on the State of an offer. */
    State?: any;
    /** Allows filtering on the Targeting of an offer. */
    Targeting?: any;
    /** Allows filtering on the LastModifiedDate of an offer. */
    LastModifiedDate?: any;
    /** Allows filtering on the OfferSetId of an offer. */
    OfferSetId?: any;
}
export interface ContainerProductFilters {
    /** Unique identifier for the container product. */
    EntityId?: any;
    /** The last date on which the container product was modified. */
    LastModifiedDate?: any;
    /** The title of the container product. */
    ProductTitle?: any;
    /** The visibility of the container product. */
    Visibility?: any;
}
export interface ResaleAuthorizationFilters {
    /** Allows filtering on the EntityId of a ResaleAuthorization. */
    EntityId?: any;
    /** Allows filtering on the Name of a ResaleAuthorization. */
    Name?: any;
    /** Allows filtering on the ProductId of a ResaleAuthorization. */
    ProductId?: any;
    /** Allows filtering on the CreatedDate of a ResaleAuthorization. */
    CreatedDate?: any;
    /** Allows filtering on the AvailabilityEndDate of a ResaleAuthorization. */
    AvailabilityEndDate?: any;
    /** Allows filtering on the ManufacturerAccountId of a ResaleAuthorization. */
    ManufacturerAccountId?: any;
    /** Allows filtering on the ProductName of a ResaleAuthorization. */
    ProductName?: any;
    /** Allows filtering on the ManufacturerLegalName of a ResaleAuthorization. */
    ManufacturerLegalName?: any;
    /** Allows filtering on the ResellerAccountID of a ResaleAuthorization. */
    ResellerAccountID?: any;
    /** Allows filtering on the ResellerLegalName of a ResaleAuthorization. */
    ResellerLegalName?: any;
    /** Allows filtering on the Status of a ResaleAuthorization. */
    Status?: any;
    /** Allows filtering on the OfferExtendedStatus of a ResaleAuthorization. */
    OfferExtendedStatus?: any;
    /** Allows filtering on the LastModifiedDate of a ResaleAuthorization. */
    LastModifiedDate?: any;
}
export interface MachineLearningProductFilters {
    /** Filter machine learning products by their entity IDs. */
    EntityId?: any;
    /** Filter machine learning products by their last modified date. */
    LastModifiedDate?: any;
    /** Filter machine learning products by their product titles. */
    ProductTitle?: any;
    /** Filter machine learning products by their visibility status. */
    Visibility?: any;
}
export interface OfferSetFilters {
    /** Allows filtering on EntityId of an offer set. */
    EntityId?: any;
    /** Allows filtering on the Name of an offer set. */
    Name?: any;
    /** Allows filtering on the State of an offer set. */
    State?: any;
    /** Allows filtering on the ReleaseDate of an offer set. */
    ReleaseDate?: any;
    /** Allows filtering on the AssociatedOfferIds of an offer set. */
    AssociatedOfferIds?: any;
    /** Allows filtering on the SolutionId of an offer set. */
    SolutionId?: any;
    /** Allows filtering on the LastModifiedDate of an offer set. */
    LastModifiedDate?: any;
}
export interface DataProductSort {
    /** Field to sort the data products by. */
    SortBy?: 'EntityId' | 'ProductTitle' | 'Visibility' | 'LastModifiedDate';
    /** The sorting order. Can be ASCENDING or DESCENDING. The default value is DESCENDING. */
    SortOrder?: 'ASCENDING' | 'DESCENDING';
}
export interface SaaSProductSort {
    /** Field to sort the SaaS products by. */
    SortBy?: 'EntityId' | 'ProductTitle' | 'Visibility' | 'LastModifiedDate' | 'DeliveryOptionTypes';
    /** The sorting order. Can be ASCENDING or DESCENDING. The default value is DESCENDING. */
    SortOrder?: 'ASCENDING' | 'DESCENDING';
}
export interface AmiProductSort {
    /** Field to sort the AMI products by. */
    SortBy?: 'EntityId' | 'LastModifiedDate' | 'ProductTitle' | 'Visibility';
    /** The sorting order. Can be ASCENDING or DESCENDING. The default value is DESCENDING. */
    SortOrder?: 'ASCENDING' | 'DESCENDING';
}
export interface OfferSort {
    /** Allows to sort offers. */
    SortBy?: 'EntityId' | 'Name' | 'ProductId' | 'ResaleAuthorizationId' | 'ReleaseDate' | 'AvailabilityEndDate' | 'BuyerAccounts' | 'State' | 'Targeting' | 'LastModifiedDate' | 'OfferSetId';
    /** Allows to sort offers. */
    SortOrder?: 'ASCENDING' | 'DESCENDING';
}
export interface ContainerProductSort {
    /** Field to sort the container products by. */
    SortBy?: 'EntityId' | 'LastModifiedDate' | 'ProductTitle' | 'Visibility' | 'CompatibleAWSServices';
    /** The sorting order. Can be ASCENDING or DESCENDING. The default value is DESCENDING. */
    SortOrder?: 'ASCENDING' | 'DESCENDING';
}
export interface ResaleAuthorizationSort {
    /** Allows to sort ResaleAuthorization. */
    SortBy?: 'EntityId' | 'Name' | 'ProductId' | 'ProductName' | 'ManufacturerAccountId' | 'ManufacturerLegalName' | 'ResellerAccountID' | 'ResellerLegalName' | 'Status' | 'OfferExtendedStatus' | 'CreatedDate' | 'AvailabilityEndDate' | 'LastModifiedDate';
    /** Allows to sort ResaleAuthorization. */
    SortOrder?: 'ASCENDING' | 'DESCENDING';
}
export interface MachineLearningProductSort {
    /** The field to sort by. Valid values: EntityId, LastModifiedDate, ProductTitle, and Visibility. */
    SortBy?: 'EntityId' | 'LastModifiedDate' | 'ProductTitle' | 'Visibility';
    /** The sort order. Valid values are ASC (ascending) and DESC (descending). */
    SortOrder?: 'ASCENDING' | 'DESCENDING';
}
export interface OfferSetSort {
    /** Allows to sort offer sets. */
    SortBy?: 'Name' | 'State' | 'ReleaseDate' | 'SolutionId' | 'EntityId' | 'LastModifiedDate';
    /** Allows to sort offer sets. */
    SortOrder?: 'ASCENDING' | 'DESCENDING';
}
export interface Change {
    /** Change types are single string values that describe your intention for the change. Each change type is unique for each EntityType provided in the change's scope. For more information about change type */
    ChangeType: string;
    /** The entity to be changed. */
    Entity: any;
    /** The tags associated with the change. */
    EntityTags?: any[];
    /** This object contains details specific to the change type of the requested change. For more information about change types available for single-AMI products, see Working with single-AMI products. Also, */
    Details?: string;
    /** Alternative field that accepts a JSON value instead of a string for ChangeType details. You can use either Details or DetailsDocument, but not both. To download the "DetailsDocument" shapes, see the P */
    DetailsDocument?: any;
    /** Optional name for the change. */
    ChangeName?: string;
}
export interface Tag {
    /** The key associated with the tag. */
    Key: string;
    /** The value associated with the tag. */
    Value: string;
}
export interface BatchDescribeEntitiesInput {
    /** List of entity IDs and the catalogs the entities are present in. */
    EntityRequestList: EntityRequest[];
}
export interface CancelChangeSetInput {
    /** Required. The catalog related to the request. Fixed value: AWSMarketplace. */
    Catalog: string;
    /** Required. The unique identifier of the StartChangeSet request that you want to cancel. */
    ChangeSetId: string;
}
export interface DeleteResourcePolicyInput {
    /** The Amazon Resource Name (ARN) of the entity resource that is associated with the resource policy. */
    ResourceArn: string;
}
export interface DescribeChangeSetInput {
    /** Required. The catalog related to the request. Fixed value: AWSMarketplace */
    Catalog: string;
    /** Required. The unique identifier for the StartChangeSet request that you want to describe the details for. */
    ChangeSetId: string;
}
export interface DescribeEntityInput {
    /** Required. The catalog related to the request. Fixed value: AWSMarketplace */
    Catalog: string;
    /** Required. The unique ID of the entity to describe. */
    EntityId: string;
}
export interface GetResourcePolicyInput {
    /** The Amazon Resource Name (ARN) of the entity resource that is associated with the resource policy. */
    ResourceArn: string;
}
export interface ListChangeSetsInput {
    /** The catalog related to the request. Fixed value: AWSMarketplace */
    Catalog: string;
    /** An array of filter objects. */
    FilterList?: Filter[];
    /** The maximum number of results returned by a single call. This value must be provided in the next call to retrieve the next set of results. By default, this value is 20. */
    MaxResults?: number;
    /** The token value retrieved from a previous call to access the next page of results. */
    NextToken?: string;
    /** An object that contains two attributes, SortBy and SortOrder. */
    Sort?: Sort;
}
export interface ListEntitiesInput {
    /** The catalog related to the request. Fixed value: AWSMarketplace */
    Catalog: string;
    /** The type of entities to retrieve. Valid values are: AmiProduct, ContainerProduct, DataProduct, SaaSProduct, ProcurementPolicy, Experience, Audience, BrandingSettings, Offer, OfferSet, Seller, ResaleAu */
    EntityType: string;
    /** A Union object containing filter shapes for all EntityTypes. Each EntityTypeFilter shape will have filters applicable for that EntityType that can be used to search or filter entities. */
    EntityTypeFilters?: any;
    /** A Union object containing Sort shapes for all EntityTypes. Each EntityTypeSort shape will have SortBy and SortOrder applicable for fields on that EntityType. This can be used to sort the results of th */
    EntityTypeSort?: any;
    /** An array of filter objects. Each filter object contains two attributes, filterName and filterValues. */
    FilterList?: Filter[];
    /** Specifies the upper limit of the elements on a single page. If a value isn't provided, the default value is 20. */
    MaxResults?: number;
    /** The value of the next token, if it exists. Null if there are no more results. */
    NextToken?: string;
    /** Filters the returned set of entities based on their owner. The default is SELF. To list entities shared with you through AWS Resource Access Manager (AWS RAM), set to SHARED. Entities shared through t */
    OwnershipType?: 'SELF' | 'SHARED';
    /** An object that contains two attributes, SortBy and SortOrder. */
    Sort?: Sort;
}
export interface ListTagsForResourceInput {
    /** Required. The Amazon Resource Name (ARN) associated with the resource you want to list tags on. */
    ResourceArn: string;
}
export interface PutResourcePolicyInput {
    /** The policy document to set; formatted in JSON. */
    Policy: string;
    /** The Amazon Resource Name (ARN) of the entity resource you want to associate with a resource policy. */
    ResourceArn: string;
}
export interface StartChangeSetInput {
    /** The catalog related to the request. Fixed value: AWSMarketplace */
    Catalog: string;
    /** Array of change object. */
    ChangeSet: Change[];
    /** Optional case sensitive string of up to 100 ASCII characters. The change set name can be used to filter the list of change sets. */
    ChangeSetName?: string;
    /** A list of objects specifying each key name and value for the ChangeSetTags property. */
    ChangeSetTags?: Tag[];
    /** A unique token to identify the request to ensure idempotency. */
    ClientRequestToken?: string;
    /** The intent related to the request. The default is APPLY. To test your request before applying changes to your entities, use VALIDATE. This feature is currently available for adding versions to single- */
    Intent?: 'VALIDATE' | 'APPLY';
}
export interface TagResourceInput {
    /** Required. The Amazon Resource Name (ARN) associated with the resource you want to tag. */
    ResourceArn: string;
    /** Required. A list of objects specifying each key name and value. Number of objects allowed: 1-50. */
    Tags: Tag[];
}
export interface UntagResourceInput {
    /** Required. The Amazon Resource Name (ARN) associated with the resource you want to remove the tag from. */
    ResourceArn: string;
    /** Required. A list of key names of tags to be removed. Number of strings allowed: 0-256. */
    TagKeys: string[];
}
/** Marketplace Catalog service binding for Step Functions SDK integrations. */
export declare class MarketplaceCatalog {
    constructor();
    batchDescribeEntities<T>(params: BatchDescribeEntitiesInput): Promise<T>;
    cancelChangeSet<T>(params: CancelChangeSetInput): Promise<T>;
    deleteResourcePolicy<T>(params: DeleteResourcePolicyInput): Promise<T>;
    describeChangeSet<T>(params: DescribeChangeSetInput): Promise<T>;
    describeEntity<T>(params: DescribeEntityInput): Promise<T>;
    getResourcePolicy<T>(params: GetResourcePolicyInput): Promise<T>;
    listChangeSets<T>(params: ListChangeSetsInput): Promise<T>;
    listEntities<T>(params: ListEntitiesInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    putResourcePolicy<T>(params: PutResourcePolicyInput): Promise<T>;
    startChangeSet<T>(params: StartChangeSetInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
}
//# sourceMappingURL=MarketplaceCatalog.d.ts.map