export interface AssigneeContact {
    /** Provides the email address of the assignee. This email is used for communications and notifications related to the opportunity. */
    Email: string;
    /** Specifies the first name of the assignee managing the opportunity. The system automatically retrieves this value from the user profile by referencing the associated email address. */
    FirstName: string;
    /** Specifies the last name of the assignee managing the opportunity. The system automatically retrieves this value from the user profile by referencing the associated email address. */
    LastName: string;
    /** Specifies the contact phone number of the assignee responsible for the opportunity or engagement. This field enables direct communication for time-sensitive matters and facilitates coordination betwee */
    Phone?: string;
    /** Specifies the business title of the assignee managing the opportunity. This helps clarify the individual's role and responsibilities within the organization. Use the value PartnerAccountManager to upd */
    BusinessTitle: string;
}
export interface EngagementContextDetails {
    /** The unique identifier of the engagement context. This ID is used to reference and manage the specific context within the engagement. */
    Id?: string;
    /** Specifies the type of Engagement context. Valid values are "CustomerProject" or "Document", indicating whether the context relates to a customer project or a document respectively. */
    Type: 'CustomerProject' | 'Lead';
    /** Contains the specific details of the Engagement context. The structure of this payload varies depending on the Type field. */
    Payload?: any;
}
export interface CustomerProjectsContext {
    Customer?: any;
    /** Information about the customer project associated with the Engagement. */
    Project?: any;
}
export interface LeadContext {
    /** Indicates the current qualification status of the lead, such as whether it has been qualified, disqualified, or is still under evaluation. This helps track the lead's progression through the qualifica */
    QualificationStatus?: string;
    /** Contains detailed information about the customer associated with the lead, including company information, contact details, and other relevant customer data. */
    Customer: any;
    /** An array of interactions that have occurred with the lead, providing a history of communications, meetings, and other engagement activities related to the lead. */
    Interactions: any[];
}
export interface Invitation {
    /** A message accompanying the invitation. */
    Message: string;
    Receiver: {
        Account?: any;
    };
    Payload: {
        OpportunityInvitation?: any;
    } | {
        LeadInvitation?: any;
    };
}
export interface Account {
    /** Specifies the industry the end Customer belongs to that's associated with the Opportunity. It refers to the category or sector where the customer's business operates. This is a required field. */
    Industry?: 'Aerospace' | 'Agriculture' | 'Automotive' | 'Computers and Electronics' | 'Consumer Goods' | 'Education' | 'Energy - Oil and Gas' | 'Energy - Power and Utilities' | 'Financial Services' | 'Gaming' | 'Government' | 'Healthcare' | 'Hospitality' | 'Life Sciences' | 'Manufacturing' | 'Marketing and Advertising' | 'Media and Entertainment' | 'Mining' | 'Non-Profit Organization' | 'Professional Services' | 'Real Estate and Construction' | 'Retail' | 'Software and Internet' | 'Telecommunications' | 'Transportation and Logistics' | 'Travel' | 'Wholesale and Distribution' | 'Other';
    /** Specifies the end Customer's industry associated with the Opportunity, when the selected value in the Industry field is Other. */
    OtherIndustry?: string;
    /** Specifies the end Customer's company name associated with the Opportunity. */
    CompanyName: string;
    /** Specifies the end customer's company website URL associated with the Opportunity. This value is crucial to map the customer within the Amazon Web Services CRM system. This field is required in all cas */
    WebsiteUrl?: string;
    /** Specifies the Customer Amazon Web Services account ID associated with the Opportunity. */
    AwsAccountId?: string;
    /** Specifies the end Customer's address details associated with the Opportunity. */
    Address?: any;
    /** Indicates the Customer DUNS number, if available. */
    Duns?: string;
}
export interface Customer {
    /** An object that contains the customer's account details. */
    Account?: Account;
    /** Represents the contact details for individuals associated with the customer of the Opportunity. This field captures relevant contacts, including decision-makers, influencers, and technical stakeholder */
    Contacts?: any[];
}
export interface Project {
    /** Specifies the deployment or consumption model for your solution or service in the Opportunity's context. You can select multiple options. Options' descriptions from the Delivery Model field are: SaaS  */
    DeliveryModels?: 'SaaS or PaaS' | 'BYOL or AMI' | 'Managed Services' | 'Professional Services' | 'Resell' | 'Other'[];
    /** Represents the estimated amount that the customer is expected to spend on AWS services related to the opportunity. This helps in evaluating the potential financial value of the opportunity for AWS. */
    ExpectedCustomerSpend?: any[];
    /** Specifies the Opportunity's title or name. */
    Title?: string;
    /** Specifies the Amazon Partner Network (APN) program that influenced the Opportunity. APN programs refer to specific partner programs or initiatives that can impact the Opportunity. Valid values: APN Im */
    ApnPrograms?: string[];
    /** Describes the problem the end customer has, and how the partner is helping. Utilize this field to provide a concise narrative that outlines the customer's business challenge or issue. Elaborate on how */
    CustomerBusinessProblem?: string;
    /** Specifies the proposed solution focus or type of workload for the Opportunity. This field captures the primary use case or objective of the proposed solution, and provides context and clarity to the a */
    CustomerUseCase?: string;
    /** Specifies the current opportunity's parent opportunity identifier. */
    RelatedOpportunityIdentifier?: string;
    /** Specifies the Opportunity's sales activities conducted with the end customer. These activities help drive Amazon Web Services assignment priority. Valid values: Initialized discussions with customer:  */
    SalesActivities?: 'Initialized discussions with customer' | 'Customer has shown interest in solution' | 'Conducted POC / Demo' | 'In evaluation / planning stage' | 'Agreed on solution to Business Problem' | 'Completed Action Plan' | 'Finalized Deployment Need' | 'SOW Signed'[];
    /** Name of the Opportunity's competitor (if any). Use Other to submit a value not in the picklist. */
    CompetitorName?: 'Oracle Cloud' | 'On-Prem' | 'Co-location' | 'Akamai' | 'AliCloud' | 'Google Cloud Platform' | 'IBM Softlayer' | 'Microsoft Azure' | 'Other- Cost Optimization' | 'No Competition' | '*Other';
    /** Only allowed when CompetitorNames has Other selected. */
    OtherCompetitorNames?: string;
    /** Specifies the offered solution for the customer's business problem when the RelatedEntityIdentifiers.Solutions field value is Other. */
    OtherSolutionDescription?: string;
    /** Captures additional comments or information for the Opportunity that weren't captured in other fields. */
    AdditionalComments?: string;
    /** AWS partition where the opportunity will be deployed. Possible values: aws-eusc for AWS European Sovereign Cloud, null for all other partitions. */
    AwsPartition?: 'aws-eusc';
}
export interface Marketing {
    /** Specifies the Opportunity marketing campaign code. The Amazon Web Services campaign code is a reference to specific marketing initiatives, promotions, or activities. This field captures the identifier */
    CampaignName?: string;
    /** Indicates if the Opportunity was sourced from an Amazon Web Services marketing activity. Use the value Marketing Activity. Use None if it's not associated with an Amazon Web Services marketing activit */
    Source?: 'Marketing Activity' | 'None';
    /** Specifies the marketing activity use case or purpose that led to the Opportunity's creation or contact. This field captures the context or marketing activity's execution's intention and the direct cor */
    UseCases?: string[];
    /** Specifies the Opportunity's channel that the marketing activity is associated with or was contacted through. This field provides information about the specific marketing channel that contributed to th */
    Channels?: 'AWS Marketing Central' | 'Content Syndication' | 'Display' | 'Email' | 'Live Event' | 'Out Of Home (OOH)' | 'Print' | 'Search' | 'Social' | 'Telemarketing' | 'TV' | 'Video' | 'Virtual Event'[];
    /** Indicates if the Opportunity is a marketing development fund (MDF) funded activity. */
    AwsFundingUsed?: 'Yes' | 'No';
}
export interface MonetaryValue {
    /** Specifies the payment amount. */
    Amount: string;
    /** Specifies the payment currency. */
    CurrencyCode: 'USD' | 'EUR' | 'GBP' | 'AUD' | 'CAD' | 'CNY' | 'NZD' | 'INR' | 'JPY' | 'CHF' | 'SEK' | 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CDF' | 'CHE' | 'CHW' | 'CLF' | 'CLP' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'FJD' | 'FKP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USN' | 'UYI' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'XSU' | 'XUA' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL';
}
export interface SoftwareRevenue {
    /** Specifies the customer's intended payment type agreement or procurement method to acquire the solution or service outlined in the Opportunity. */
    DeliveryModel?: 'Contract' | 'Pay-as-you-go' | 'Subscription';
    /** Specifies the payment value (amount and currency). */
    Value?: MonetaryValue;
    /** Specifies the Opportunity's customer engagement start date for the contract's effectiveness. */
    EffectiveDate?: string;
    /** Specifies the expiration date for the contract between the customer and Amazon Web Services partner. It signifies the termination date of the agreed-upon engagement period between both parties. */
    ExpirationDate?: string;
}
export interface LifeCycle {
    /** Specifies the current stage of the Opportunity's lifecycle as it maps to Amazon Web Services stages from the current stage in the partner CRM. This field provides a translated value of the stage, and  */
    Stage?: 'Prospect' | 'Qualified' | 'Technical Validation' | 'Business Validation' | 'Committed' | 'Launched' | 'Closed Lost';
    /** Specifies the reason code when an opportunity is marked as Closed Lost. When you select an appropriate reason code, you communicate the context for closing the Opportunity, and aid in accurate reports */
    ClosedLostReason?: 'Customer Deficiency' | 'Delay / Cancellation of Project' | 'Legal / Tax / Regulatory' | 'Lost to Competitor - Google' | 'Lost to Competitor - Microsoft' | 'Lost to Competitor - SoftLayer' | 'Lost to Competitor - VMWare' | 'Lost to Competitor - Other' | 'No Opportunity' | 'On Premises Deployment' | 'Partner Gap' | 'Price' | 'Security / Compliance' | 'Technical Limitations' | 'Customer Experience' | 'Other' | 'People/Relationship/Governance' | 'Product/Technology' | 'Financial/Commercial';
    /** Specifies the upcoming actions or tasks for the Opportunity. Use this field to communicate with Amazon Web Services about the next actions required for the Opportunity. */
    NextSteps?: string;
    /** Specifies the date when Amazon Web Services expects to start significant billing, when the project finishes, and when it moves into production. This field informs the Amazon Web Services seller about  */
    TargetCloseDate?: string;
    /** Indicates the review status of an opportunity referred by a partner. This field is read-only and only applicable for partner referrals. The possible values are: Pending Submission: Not submitted for v */
    ReviewStatus?: 'Pending Submission' | 'Submitted' | 'In review' | 'Approved' | 'Rejected' | 'Action Required';
    /** Contains detailed feedback from Amazon Web Services when requesting additional information from partners. Provides specific guidance on what partners need to provide or clarify for opportunity validat */
    ReviewComments?: string;
    /** Code indicating the validation decision during the Amazon Web Services opportunity review. Applies when status is Rejected or Action Required. Used to document validation results for AWS Partner Refer */
    ReviewStatusReason?: string;
    /** Captures a chronological record of the next steps or actions planned or taken for the current opportunity, along with the timestamp. */
    NextStepsHistory?: any[];
}
export interface Contact {
    /** The contact's email address associated with the Opportunity. */
    Email?: string;
    /** The contact's first name associated with the Opportunity. */
    FirstName?: string;
    /** The contact's last name associated with the Opportunity. */
    LastName?: string;
    /** The partner contact's title (job title or role) associated with the Opportunity. BusinessTitle supports either PartnerAccountManager or OpportunityOwner. */
    BusinessTitle?: string;
    /** The contact's phone number associated with the Opportunity. */
    Phone?: string;
}
export interface Tag {
    /** The key in the tag. */
    Key: string;
    /** The value in the tag. */
    Value: string;
}
export interface ListTasksSortBase {
    /** Determines the order in which the sorted results are presented. */
    SortOrder: 'ASCENDING' | 'DESCENDING';
    /** Specifies the field by which the task list should be sorted. */
    SortBy: 'StartTime';
}
export interface OpportunityEngagementInvitationSort {
    /** Defines the order in which the Engagement Invitations are sorted. The values can be ASC (ascending) or DESC (descending). */
    SortOrder: 'ASCENDING' | 'DESCENDING';
    /** Specifies the field by which the Engagement Invitations are sorted. Common values include InvitationDate and Status. */
    SortBy: 'InvitationDate';
}
export interface EngagementSort {
    /** The order in which to sort the results. */
    SortOrder: 'ASCENDING' | 'DESCENDING';
    /** The field by which to sort the results. */
    SortBy: 'CreatedDate';
}
export interface OpportunitySort {
    /** Sort order. Default: Descending */
    SortOrder: 'ASCENDING' | 'DESCENDING';
    /** Field name to sort by. */
    SortBy: 'LastModifiedDate' | 'Identifier' | 'CustomerCompanyName' | 'CreatedDate';
}
export interface LastModifiedDate {
    /** Specifies the date after which the opportunities were modified. Use this filter to retrieve only those opportunities that were modified after a given timestamp. */
    AfterLastModifiedDate?: string;
    /** Specifies the date before which the opportunities were modified. Use this filter to retrieve only those opportunities that were modified before a given timestamp. */
    BeforeLastModifiedDate?: string;
}
export interface CreatedDateFilter {
    /** Filter opportunities created after this date. */
    AfterCreatedDate?: string;
    /** Filter opportunities created before this date. */
    BeforeCreatedDate?: string;
}
export interface SortObject {
    /** Specifies the field by which to sort the resource snapshot jobs. */
    SortBy?: 'CreatedDate';
    /** Determines the order in which the sorted results are presented. */
    SortOrder?: 'ASCENDING' | 'DESCENDING';
}
export interface SolutionSort {
    /** Specifies the sorting order, either Ascending or Descending. The default is Descending. */
    SortOrder: 'ASCENDING' | 'DESCENDING';
    /** Specifies the attribute to sort by, such as Name, CreatedDate, or Status. */
    SortBy: 'Identifier' | 'Name' | 'Status' | 'Category' | 'CreatedDate';
}
export interface AwsSubmission {
    /** Specifies the type of AWS involvement in the opportunity, such as coselling, deal support, or technical consultation. This helps categorize the nature of AWS participation. */
    InvolvementType: 'For Visibility Only' | 'Co-Sell';
    /** Determines who can view AWS involvement in the opportunity. Typically, this field is set to Full for most cases, but it may be restricted based on special program requirements or confidentiality needs */
    Visibility?: 'Full' | 'Limited';
}
export interface UpdateLeadContext {
    /** The updated qualification status of the lead. */
    QualificationStatus?: string;
    /** Updated customer information associated with the lead. */
    Customer: any;
    /** Updated interaction details for the lead context. */
    Interaction?: any;
}
export interface AcceptEngagementInvitationInput {
    /** The CatalogType parameter specifies the catalog associated with the engagement invitation. Accepted values are AWS and Sandbox, which determine the environment in which the engagement invitation is ma */
    Catalog: string;
    /** The Identifier parameter in the AcceptEngagementInvitationRequest specifies the unique identifier of the EngagementInvitation to be accepted. Providing the correct identifier ensures that the intended */
    Identifier: string;
}
export interface AssignOpportunityInput {
    /** Specifies the user or team member responsible for managing the assigned opportunity. This field identifies the Assignee based on the partner's internal team structure. Ensure that the email address is */
    Assignee: AssigneeContact;
    /** Specifies the catalog associated with the request. This field takes a string value from a predefined list: AWS or Sandbox. The catalog determines which environment the opportunity is assigned in. Use  */
    Catalog: string;
    /** Requires the Opportunity's unique identifier when you want to assign it to another user. Provide the correct identifier so the intended opportunity is reassigned. */
    Identifier: string;
}
export interface AssociateOpportunityInput {
    /** Specifies the catalog associated with the request. This field takes a string value from a predefined list: AWS or Sandbox. The catalog determines which environment the opportunity association is made  */
    Catalog: string;
    /** Requires the Opportunity's unique identifier when you want to associate it with a related entity. Provide the correct identifier so the intended opportunity is updated with the association. */
    OpportunityIdentifier: string;
    /** Requires the related entity's unique identifier when you want to associate it with the Opportunity. For Amazon Web Services Marketplace entities, provide the Amazon Resource Name (ARN). Use the Amazon */
    RelatedEntityIdentifier: string;
    /** Specifies the entity type that you're associating with the Opportunity. This helps to categorize and properly process the association. */
    RelatedEntityType: 'Solutions' | 'AwsProducts' | 'AwsMarketplaceOffers' | 'AwsMarketplaceOfferSets';
}
export interface CreateEngagementInput {
    /** The CreateEngagementRequest$Catalog parameter specifies the catalog related to the engagement. Accepted values are AWS and Sandbox, which determine the environment in which the engagement is managed. */
    Catalog: string;
    /** The CreateEngagementRequest$ClientToken parameter specifies a unique, case-sensitive identifier to ensure that the request is handled exactly once. The value must not exceed sixty-four alphanumeric ch */
    ClientToken: string;
    /** Provides a description of the Engagement. */
    Description: string;
    /** Specifies the title of the Engagement. */
    Title: string;
    /** The Contexts field is a required array of objects, with a maximum of 5 contexts allowed, specifying detailed information about customer projects associated with the Engagement. Each context object con */
    Contexts?: EngagementContextDetails[];
}
export interface CreateEngagementContextInput {
    /** Specifies the catalog associated with the engagement context request. This field takes a string value from a predefined list: AWS or Sandbox. The catalog determines which environment the engagement co */
    Catalog: string;
    /** A unique, case-sensitive identifier provided by the client to ensure that the request is handled exactly once. This token helps prevent duplicate context creations and must not exceed sixty-four alpha */
    ClientToken: string;
    /** The unique identifier of the Engagement for which the context is being created. This parameter ensures the context is associated with the correct engagement and provides the necessary linkage between  */
    EngagementIdentifier: string;
    Payload: {
        CustomerProject?: CustomerProjectsContext;
    } | {
        Lead?: LeadContext;
    };
    /** Specifies the type of context being created for the engagement. This field determines the structure and content of the context payload. Valid values include CustomerProject for customer project-relate */
    Type: 'CustomerProject' | 'Lead';
}
export interface CreateEngagementInvitationInput {
    /** Specifies the catalog related to the engagement. Accepted values are AWS and Sandbox, which determine the environment in which the engagement is managed. */
    Catalog: string;
    /** Specifies a unique, client-generated UUID to ensure that the request is handled exactly once. This token helps prevent duplicate invitation creations. */
    ClientToken: string;
    /** The unique identifier of the Engagement associated with the invitation. This parameter ensures the invitation is created within the correct Engagement context. */
    EngagementIdentifier: string;
    /** The Invitation object all information necessary to initiate an engagement invitation to a partner. It contains a personalized message from the sender, the invitation's receiver, and a payload. The Pay */
    Invitation: Invitation;
}
export interface CreateOpportunityInput {
    /** Specifies the catalog associated with the request. This field takes a string value from a predefined list: AWS or Sandbox. The catalog determines which environment the opportunity is created in. Use A */
    Catalog: string;
    /** Required to be unique, and should be unchanging, it can be randomly generated or a meaningful string. Default: None Best practice: To help ensure uniqueness and avoid conflicts, use a Universally Uniq */
    ClientToken: string;
    /** Specifies customer details associated with the Opportunity. */
    Customer?: Customer;
    /** An object that contains lifecycle details for the Opportunity. */
    LifeCycle?: LifeCycle;
    /** This object contains marketing details and is optional for an opportunity. */
    Marketing?: Marketing;
    /** Indicates whether the Opportunity pertains to a national security project. This field must be set to true only when the customer's industry is Government. Additional privacy and security measures appl */
    NationalSecurity?: 'Yes' | 'No';
    /** Represents the internal team handling the opportunity. Specify collaborating members of this opportunity who are within the partner's organization. */
    OpportunityTeam?: Contact[];
    /** Specifies the opportunity type as a renewal, new, or expansion. Opportunity types: New opportunity: Represents a new business opportunity with a potential customer that's not previously engaged with y */
    OpportunityType?: 'Net New Business' | 'Flat Renewal' | 'Expansion';
    /** Specifies the origin of the opportunity, indicating if it was sourced from Amazon Web Services or the partner. For all opportunities created with Catalog: AWS, this field must only be Partner Referral */
    Origin?: 'AWS Referral' | 'Partner Referral';
    /** Specifies the opportunity's unique identifier in the partner's CRM system. This value is essential to track and reconcile because it's included in the outbound payload to the partner. This field allow */
    PartnerOpportunityIdentifier?: string;
    /** Identifies the type of support the partner needs from Amazon Web Services. Valid values: Cosell—Architectural Validation: Confirmation from Amazon Web Services that the partner's proposed solution arc */
    PrimaryNeedsFromAws?: 'Co-Sell - Architectural Validation' | 'Co-Sell - Business Presentation' | 'Co-Sell - Competitive Information' | 'Co-Sell - Pricing Assistance' | 'Co-Sell - Technical Consultation' | 'Co-Sell - Total Cost of Ownership Evaluation' | 'Co-Sell - Deal Support' | 'Co-Sell - Support for Public Tender / RFx'[];
    /** An object that contains project details for the Opportunity. */
    Project?: Project;
    /** Specifies details of a customer's procurement terms. This is required only for partners in eligible programs. */
    SoftwareRevenue?: SoftwareRevenue;
    /** A map of the key-value pairs of the tag or tags to assign. */
    Tags?: Tag[];
}
export interface CreateResourceSnapshotInput {
    /** Specifies the catalog where the snapshot is created. Valid values are AWS and Sandbox. */
    Catalog: string;
    /** Specifies a unique, client-generated UUID to ensure that the request is handled exactly once. This token helps prevent duplicate snapshot creations. */
    ClientToken: string;
    /** The unique identifier of the engagement associated with this snapshot. This field links the snapshot to a specific engagement context. */
    EngagementIdentifier: string;
    /** The unique identifier of the specific resource to be snapshotted. The format and constraints of this identifier depend on the ResourceType specified. For example: For Opportunity type, it will be an o */
    ResourceIdentifier: string;
    /** The name of the template that defines the schema for the snapshot. This template determines which subset of the resource data will be included in the snapshot. Must correspond to an existing and valid */
    ResourceSnapshotTemplateIdentifier: string;
    /** Specifies the type of resource for which the snapshot is being created. This field determines the structure and content of the snapshot. Must be one of the supported resource types, such as: Opportuni */
    ResourceType: 'Opportunity';
}
export interface CreateResourceSnapshotJobInput {
    /** Specifies the catalog in which to create the snapshot job. Valid values are AWS and Sandbox. */
    Catalog: string;
    /** A client-generated UUID used for idempotency check. The token helps prevent duplicate job creations. */
    ClientToken: string;
    /** Specifies the identifier of the engagement associated with the resource to be snapshotted. */
    EngagementIdentifier: string;
    /** Specifies the identifier of the specific resource to be snapshotted. The format depends on the ResourceType. */
    ResourceIdentifier: string;
    /** Specifies the name of the template that defines the schema for the snapshot. */
    ResourceSnapshotTemplateIdentifier: string;
    /** The type of resource for which the snapshot job is being created. Must be one of the supported resource types i.e. Opportunity */
    ResourceType: 'Opportunity';
    /** A map of the key-value pairs of the tag or tags to assign. */
    Tags?: Tag[];
}
export interface DeleteResourceSnapshotJobInput {
    /** Specifies the catalog from which to delete the snapshot job. Valid values are AWS and Sandbox. */
    Catalog: string;
    /** The unique identifier of the resource snapshot job to be deleted. */
    ResourceSnapshotJobIdentifier: string;
}
export interface DisassociateOpportunityInput {
    /** Specifies the catalog associated with the request. This field takes a string value from a predefined list: AWS or Sandbox. The catalog determines which environment the opportunity disassociation is ma */
    Catalog: string;
    /** The opportunity's unique identifier for when you want to disassociate it from related entities. This identifier helps to ensure that the correct opportunity is updated. Validation: Ensure that the pro */
    OpportunityIdentifier: string;
    /** The related entity's identifier that you want to disassociate from the opportunity. Depending on the type of entity, this could be a simple identifier or an Amazon Resource Name (ARN) for entities man */
    RelatedEntityIdentifier: string;
    /** The type of the entity that you're disassociating from the opportunity. When you specify the entity type, it helps the system correctly process the disassociation request to ensure that the right conn */
    RelatedEntityType: 'Solutions' | 'AwsProducts' | 'AwsMarketplaceOffers' | 'AwsMarketplaceOfferSets';
}
export interface GetAwsOpportunitySummaryInput {
    /** Specifies the catalog in which the AWS Opportunity is located. Accepted values include AWS for production opportunities or Sandbox for testing purposes. The catalog determines which environment the op */
    Catalog: string;
    /** The unique identifier for the related partner opportunity. Use this field to correlate an AWS opportunity with its corresponding partner opportunity. */
    RelatedOpportunityIdentifier: string;
}
export interface GetEngagementInput {
    /** Specifies the catalog related to the engagement request. Valid values are AWS and Sandbox. */
    Catalog: string;
    /** Specifies the identifier of the Engagement record to retrieve. */
    Identifier: string;
}
export interface GetEngagementInvitationInput {
    /** Specifies the catalog associated with the request. The field accepts values from the predefined set: AWS for live operations or Sandbox for testing environments. */
    Catalog: string;
    /** Specifies the unique identifier for the retrieved engagement invitation. */
    Identifier: string;
}
export interface GetOpportunityInput {
    /** Specifies the catalog associated with the request. This field takes a string value from a predefined list: AWS or Sandbox. The catalog determines which environment the opportunity is fetched from. Use */
    Catalog: string;
    /** Read-only, system generated Opportunity unique identifier. */
    Identifier: string;
}
export interface GetResourceSnapshotInput {
    /** Specifies the catalog related to the request. Valid values are: AWS: Retrieves the snapshot from the production AWS environment. Sandbox: Retrieves the snapshot from a sandbox environment used for tes */
    Catalog: string;
    /** The unique identifier of the engagement associated with the snapshot. This field links the snapshot to a specific engagement context. */
    EngagementIdentifier: string;
    /** The unique identifier of the specific resource that was snapshotted. The format and constraints of this identifier depend on the ResourceType specified. For Opportunity type, it will be an opportunity */
    ResourceIdentifier: string;
    /** he name of the template that defines the schema for the snapshot. This template determines which subset of the resource data is included in the snapshot and must correspond to an existing and valid te */
    ResourceSnapshotTemplateIdentifier: string;
    /** Specifies the type of resource that was snapshotted. This field determines the structure and content of the snapshot payload. Valid value includes:Opportunity: For opportunity-related data. */
    ResourceType: 'Opportunity';
    /** Specifies which revision of the snapshot to retrieve. If omitted returns the latest revision. */
    Revision?: number;
}
export interface GetResourceSnapshotJobInput {
    /** Specifies the catalog related to the request. Valid values are: AWS: Retrieves the snapshot job from the production AWS environment. Sandbox: Retrieves the snapshot job from a sandbox environment used */
    Catalog: string;
    /** The unique identifier of the resource snapshot job to be retrieved. This identifier is crucial for pinpointing the specific job you want to query. */
    ResourceSnapshotJobIdentifier: string;
}
export interface GetSellingSystemSettingsInput {
    /** Specifies the catalog in which the settings are defined. Acceptable values include AWS for production and Sandbox for testing environments. */
    Catalog: string;
}
export interface ListEngagementByAcceptingInvitationTasksInput {
    /** Specifies the catalog related to the request. Valid values are: AWS: Retrieves the request from the production AWS environment. Sandbox: Retrieves the request from a sandbox environment used for testi */
    Catalog: string;
    /** Filters tasks by the identifiers of the engagement invitations they are processing. */
    EngagementInvitationIdentifier?: string[];
    /** Use this parameter to control the number of items returned in each request, which can be useful for performance tuning and managing large result sets. */
    MaxResults?: number;
    /** Use this parameter for pagination when the result set spans multiple pages. This value is obtained from the NextToken field in the response of a previous call to this API. */
    NextToken?: string;
    /** Filters tasks by the identifiers of the opportunities they created or are associated with. */
    OpportunityIdentifier?: string[];
    /** Specifies the sorting criteria for the returned results. This allows you to order the tasks based on specific attributes. */
    Sort?: ListTasksSortBase;
    /** Filters tasks by their unique identifiers. Use this when you want to retrieve information about specific tasks. */
    TaskIdentifier?: string[];
    /** Filters the tasks based on their current status. This allows you to focus on tasks in specific states. */
    TaskStatus?: 'IN_PROGRESS' | 'COMPLETE' | 'FAILED'[];
}
export interface ListEngagementFromOpportunityTasksInput {
    /** Specifies the catalog related to the request. Valid values are: AWS: Retrieves the request from the production AWS environment. Sandbox: Retrieves the request from a sandbox environment used for testi */
    Catalog: string;
    /** Filters tasks by the identifiers of the engagements they created or are associated with. */
    EngagementIdentifier?: string[];
    /** Specifies the maximum number of results to return in a single page of the response.Use this parameter to control the number of items returned in each request, which can be useful for performance tunin */
    MaxResults?: number;
    /** The token for requesting the next page of results. This value is obtained from the NextToken field in the response of a previous call to this API. Use this parameter for pagination when the result set */
    NextToken?: string;
    /** The identifier of the original opportunity associated with this task. */
    OpportunityIdentifier?: string[];
    /** Specifies the sorting criteria for the returned results. This allows you to order the tasks based on specific attributes. */
    Sort?: ListTasksSortBase;
    /** Filters tasks by their unique identifiers. Use this when you want to retrieve information about specific tasks. */
    TaskIdentifier?: string[];
    /** Filters the tasks based on their current status. This allows you to focus on tasks in specific states. */
    TaskStatus?: 'IN_PROGRESS' | 'COMPLETE' | 'FAILED'[];
}
export interface ListEngagementInvitationsInput {
    /** Specifies the catalog from which to list the engagement invitations. Use AWS for production invitations or Sandbox for testing environments. */
    Catalog: string;
    /** Specifies the type of participant for which to list engagement invitations. Identifies the role of the participant. */
    ParticipantType: 'SENDER' | 'RECEIVER';
    /** Retrieves a list of engagement invitation summaries based on specified filters. The ListEngagementInvitations operation allows you to view all invitations that you have sent or received. You must spec */
    EngagementIdentifier?: string[];
    /** Specifies the maximum number of engagement invitations to return in the response. If more results are available, a pagination token will be provided. */
    MaxResults?: number;
    /** A pagination token used to retrieve additional pages of results when the response to a previous request was truncated. Pass this token to continue listing invitations from where the previous call left */
    NextToken?: string;
    /** Defines the type of payload associated with the engagement invitations to be listed. The attributes in this payload help decide on acceptance or rejection of the invitation. */
    PayloadType?: 'OpportunityInvitation' | 'LeadInvitation'[];
    /** List of sender AWS account IDs to filter the invitations. */
    SenderAwsAccountId?: string[];
    /** Specifies the sorting options for listing engagement invitations. Invitations can be sorted by fields such as InvitationDate or Status to help partners view results in their preferred order. */
    Sort?: OpportunityEngagementInvitationSort;
    /** Status values to filter the invitations. */
    Status?: 'ACCEPTED' | 'PENDING' | 'REJECTED' | 'EXPIRED'[];
}
export interface ListEngagementMembersInput {
    /** The catalog related to the request. */
    Catalog: string;
    /** Identifier of the Engagement record to retrieve members from. */
    Identifier: string;
    /** The maximum number of results to return in a single call. */
    MaxResults?: number;
    /** The token for the next set of results. */
    NextToken?: string;
}
export interface ListEngagementResourceAssociationsInput {
    /** Specifies the catalog in which to search for engagement-resource associations. Valid Values: "AWS" or "Sandbox" AWS for production environments. Sandbox for testing and development purposes. */
    Catalog: string;
    /** Filters the response to include only snapshots of resources owned by the specified AWS account ID. Use this when you want to find associations related to resources owned by a particular account. */
    CreatedBy?: string;
    /** Filters the results to include only associations related to the specified engagement. Use this when you want to find all resources associated with a specific engagement. */
    EngagementIdentifier?: string;
    /** Limits the number of results returned in a single call. Use this to control the number of results returned, especially useful for pagination. */
    MaxResults?: number;
    /** A token used for pagination of results. Include this token in subsequent requests to retrieve the next set of results. */
    NextToken?: string;
    /** Filters the results to include only associations with the specified resource. Varies depending on the resource type. Use this when you want to find all engagements associated with a specific resource. */
    ResourceIdentifier?: string;
    /** Filters the results to include only associations with resources of the specified type. */
    ResourceType?: 'Opportunity';
}
export interface ListEngagementsInput {
    /** Specifies the catalog related to the request. */
    Catalog: string;
    /** Filters engagements to include only those containing the specified context types, such as "CustomerProject" or "Lead". Use this to find engagements that have specific types of contextual information a */
    ContextTypes?: 'CustomerProject' | 'Lead'[];
    /** A list of AWS account IDs. When specified, the response includes engagements created by these accounts. This filter is useful for finding engagements created by specific team members. */
    CreatedBy?: string[];
    /** An array of strings representing engagement identifiers to retrieve. */
    EngagementIdentifier?: string[];
    /** Filters engagements to exclude those containing the specified context types. Use this to find engagements that do not have certain types of contextual information, helping to narrow results based on c */
    ExcludeContextTypes?: 'CustomerProject' | 'Lead'[];
    /** An array of strings representing AWS Account IDs. Use this to exclude engagements created by specific users. */
    ExcludeCreatedBy?: string[];
    /** The maximum number of results to return in a single call. */
    MaxResults?: number;
    /** The token for the next set of results. This value is returned from a previous call. */
    NextToken?: string;
    Sort?: EngagementSort;
}
export interface ListOpportunitiesInput {
    /** Specifies the catalog associated with the request. This field takes a string value from a predefined list: AWS or Sandbox. The catalog determines which environment the opportunities are listed in. Use */
    Catalog: string;
    /** Filter opportunities by creation date criteria. */
    CreatedDate?: CreatedDateFilter;
    /** Filters the opportunities based on the customer's company name. This allows partners to search for opportunities associated with a specific customer by matching the provided company name string. */
    CustomerCompanyName?: string[];
    /** Filters the opportunities based on the opportunity identifier. This allows partners to retrieve specific opportunities by providing their unique identifiers, ensuring precise results. */
    Identifier?: string[];
    /** Filters the opportunities based on their last modified date. This filter helps retrieve opportunities that were updated after the specified date, allowing partners to track recent changes or updates. */
    LastModifiedDate?: LastModifiedDate;
    /** Filters the opportunities based on their current lifecycle approval status. Use this filter to retrieve opportunities with statuses such as Pending Submission, In Review, Action Required, or Approved. */
    LifeCycleReviewStatus?: 'Pending Submission' | 'Submitted' | 'In review' | 'Approved' | 'Rejected' | 'Action Required'[];
    /** Filters the opportunities based on their lifecycle stage. This filter allows partners to retrieve opportunities at various stages in the sales cycle, such as Qualified, Technical Validation, Business  */
    LifeCycleStage?: 'Prospect' | 'Qualified' | 'Technical Validation' | 'Business Validation' | 'Committed' | 'Launched' | 'Closed Lost'[];
    /** Specifies the maximum number of results to return in a single call. This limits the number of opportunities returned in the response to avoid providing too many results at once. Default: 20 */
    MaxResults?: number;
    /** A pagination token used to retrieve the next set of results in subsequent calls. This token is included in the response only if there are additional result pages available. */
    NextToken?: string;
    /** An object that specifies how the response is sorted. The default Sort.SortBy value is LastModifiedDate. */
    Sort?: OpportunitySort;
}
export interface ListOpportunityFromEngagementTasksInput {
    /** Specifies the catalog related to the request. Valid values are AWS for production environments and Sandbox for testing or development purposes. The catalog determines which environment the task data i */
    Catalog: string;
    /** Filters tasks by the identifiers of the engagement contexts associated with the opportunity creation. Use this to find tasks related to specific contextual information within engagements that are bein */
    ContextIdentifier?: string[];
    /** Filters tasks by the identifiers of the engagements from which opportunities are being created. Use this to find all opportunity creation tasks associated with a specific engagement. */
    EngagementIdentifier?: string[];
    /** Specifies the maximum number of results to return in a single page of the response. Use this parameter to control the number of items returned in each request, which can be useful for performance tuni */
    MaxResults?: number;
    /** The token for requesting the next page of results. This value is obtained from the NextToken field in the response of a previous call to this API. Use this parameter for pagination when the result set */
    NextToken?: string;
    /** Filters tasks by the identifiers of the opportunities they created or are associated with. Use this to find tasks related to specific opportunity creation processes. */
    OpportunityIdentifier?: string[];
    Sort?: ListTasksSortBase;
    /** Filters tasks by their unique identifiers. Use this when you want to retrieve information about specific tasks. Provide the task ID to get details about a particular opportunity creation task. */
    TaskIdentifier?: string[];
    /** Filters the tasks based on their current status. This allows you to focus on tasks in specific states. Valid values are COMPLETE for tasks that have finished successfully, INPROGRESS for tasks that ar */
    TaskStatus?: 'IN_PROGRESS' | 'COMPLETE' | 'FAILED'[];
}
export interface ListResourceSnapshotJobsInput {
    /** Specifies the catalog related to the request. */
    Catalog: string;
    /** The identifier of the engagement to filter the response. */
    EngagementIdentifier?: string;
    /** The maximum number of results to return in a single call. If omitted, defaults to 50. */
    MaxResults?: number;
    /** The token for the next set of results. */
    NextToken?: string;
    /** Configures the sorting of the response. If omitted, results are sorted by CreatedDate in descending order. */
    Sort?: SortObject;
    /** The status of the jobs to filter the response. */
    Status?: 'Running' | 'Stopped';
}
export interface ListResourceSnapshotsInput {
    /** Specifies the catalog related to the request. */
    Catalog: string;
    /** The unique identifier of the engagement associated with the snapshots. */
    EngagementIdentifier: string;
    /** Filters the response to include only snapshots of resources owned by the specified AWS account. */
    CreatedBy?: string;
    /** The maximum number of results to return in a single call. */
    MaxResults?: number;
    /** The token for the next set of results. */
    NextToken?: string;
    /** Filters the response to include only snapshots of the specified resource. */
    ResourceIdentifier?: string;
    /** Filters the response to include only snapshots created using the specified template. */
    ResourceSnapshotTemplateIdentifier?: string;
    /** Filters the response to include only snapshots of the specified resource type. */
    ResourceType?: 'Opportunity';
}
export interface ListSolutionsInput {
    /** Specifies the catalog associated with the request. This field takes a string value from a predefined list: AWS or Sandbox. The catalog determines which environment the solutions are listed in. Use AWS */
    Catalog: string;
    /** Filters the solutions based on the category to which they belong. This allows partners to search for solutions within specific categories, such as Software, Consulting, or Managed Services. */
    Category?: string[];
    /** Filters the solutions based on their unique identifier. Use this filter to retrieve specific solutions by providing the solution's identifier for accurate results. */
    Identifier?: string[];
    /** 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. Default: 20 */
    MaxResults?: number;
    /** A pagination token used to retrieve the next set of results in subsequent calls. This token is included in the response only if there are additional result pages available. */
    NextToken?: string;
    /** Object that configures sorting done on the response. Default Sort.SortBy is Identifier. */
    Sort?: SolutionSort;
    /** Filters solutions based on their status. This filter helps partners manage their solution portfolios effectively. */
    Status?: 'Active' | 'Inactive' | 'Draft'[];
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource for which you want to retrieve tags. */
    ResourceArn: string;
}
export interface PutSellingSystemSettingsInput {
    /** Specifies the catalog in which the settings will be updated. Acceptable values include AWS for production and Sandbox for testing environments. */
    Catalog: string;
    /** Specifies the ARN of the IAM Role used for resource snapshot job executions. */
    ResourceSnapshotJobRoleIdentifier?: string;
}
export interface RejectEngagementInvitationInput {
    /** This is the catalog that's associated with the engagement invitation. Acceptable values are AWS or Sandbox, and these values determine the environment in which the opportunity is managed. */
    Catalog: string;
    /** This is the unique identifier of the rejected EngagementInvitation. Providing the correct identifier helps to ensure that the intended invitation is rejected. */
    Identifier: string;
    /** This describes the reason for rejecting the engagement invitation, which helps AWS track usage patterns. Acceptable values include the following: Customer problem unclear: The customer's problem isn't */
    RejectionReason?: string;
}
export interface StartEngagementByAcceptingInvitationTaskInput {
    /** Specifies the catalog related to the task. Use AWS for production engagements and Sandbox for testing scenarios. */
    Catalog: string;
    /** A unique, case-sensitive identifier provided by the client that helps to ensure the idempotency of the request. This can be a random or meaningful string but must be unique for each request. */
    ClientToken: string;
    /** Specifies the unique identifier of the EngagementInvitation to be accepted. Providing the correct identifier helps ensure that the correct engagement is processed. */
    Identifier: string;
    /** A map of the key-value pairs of the tag or tags to assign. */
    Tags?: Tag[];
}
export interface StartEngagementFromOpportunityTaskInput {
    AwsSubmission: AwsSubmission;
    /** Specifies the catalog in which the engagement is tracked. Acceptable values include AWS for production and Sandbox for testing environments. */
    Catalog: string;
    /** A unique token provided by the client to help ensure the idempotency of the request. It helps prevent the same task from being performed multiple times. */
    ClientToken: string;
    /** The unique identifier of the opportunity from which the engagement task is to be initiated. This helps ensure that the task is applied to the correct opportunity. */
    Identifier: string;
    /** A map of the key-value pairs of the tag or tags to assign. */
    Tags?: Tag[];
}
export interface StartOpportunityFromEngagementTaskInput {
    /** Specifies the catalog in which the opportunity creation task is executed. Acceptable values include AWS for production and Sandbox for testing environments. */
    Catalog: string;
    /** A unique token provided by the client to help ensure the idempotency of the request. It helps prevent the same task from being performed multiple times. */
    ClientToken: string;
    /** The unique identifier of the engagement context from which to create the opportunity. This specifies the specific contextual information within the engagement that will be used for opportunity creatio */
    ContextIdentifier: string;
    /** The unique identifier of the engagement from which the opportunity creation task is to be initiated. This helps ensure that the task is applied to the correct engagement. */
    Identifier: string;
    /** A map of the key-value pairs of the tag or tags to assign. */
    Tags?: Tag[];
}
export interface StartResourceSnapshotJobInput {
    /** Specifies the catalog related to the request. Valid values are: AWS: Starts the request from the production AWS environment. Sandbox: Starts the request from a sandbox environment used for testing or  */
    Catalog: string;
    /** The identifier of the resource snapshot job to start. */
    ResourceSnapshotJobIdentifier: string;
}
export interface StopResourceSnapshotJobInput {
    /** Specifies the catalog related to the request. Valid values are: AWS: Stops the request from the production AWS environment. Sandbox: Stops the request from a sandbox environment used for testing or de */
    Catalog: string;
    /** The identifier of the job to stop. */
    ResourceSnapshotJobIdentifier: string;
}
export interface SubmitOpportunityInput {
    /** Specifies the catalog related to the request. Valid values are: AWS: Submits the opportunity request from the production AWS environment. Sandbox: Submits the opportunity request from a sandbox enviro */
    Catalog: string;
    /** The identifier of the Opportunity previously created by partner and needs to be submitted. */
    Identifier: string;
    /** Specifies the level of AWS sellers' involvement on the opportunity. Valid values: Co-sell: Indicates the user wants to co-sell with AWS. Share the opportunity with AWS to receive deal assistance and s */
    InvolvementType: 'For Visibility Only' | 'Co-Sell';
    /** Determines whether to restrict visibility of the opportunity from AWS sales. Default value is Full. Valid values: Full: The opportunity is fully visible to AWS sales. Limited: The opportunity has rest */
    Visibility?: 'Full' | 'Limited';
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource that you want to tag. */
    ResourceArn: string;
    /** A map of the key-value pairs of the tag or tags to assign. */
    Tags: Tag[];
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource that you want to untag. */
    ResourceArn: string;
    /** The keys of the key-value pairs for the tag or tags you want to remove from the specified resource. */
    TagKeys: string[];
}
export interface UpdateEngagementContextInput {
    /** Specifies the catalog associated with the engagement context update request. This field takes a string value from a predefined list: AWS or Sandbox. The catalog determines which environment the engage */
    Catalog: string;
    /** The unique identifier of the specific engagement context to be updated. This ensures that the correct context within the engagement is modified. */
    ContextIdentifier: string;
    /** The unique identifier of the Engagement containing the context to be updated. This parameter ensures the context update is applied to the correct engagement. */
    EngagementIdentifier: string;
    /** The timestamp when the engagement was last modified, used for optimistic concurrency control. This helps prevent conflicts when multiple users attempt to update the same engagement simultaneously. */
    EngagementLastModifiedAt: string;
    /** Contains the updated contextual information for the engagement. The structure of this payload varies based on the context type specified in the Type field. */
    Payload: {
        Lead?: UpdateLeadContext;
    } | {
        CustomerProject?: CustomerProjectsContext;
    };
    /** Specifies the type of context being updated within the engagement. This field determines the structure and content of the context payload being modified. */
    Type: 'CustomerProject' | 'Lead';
}
export interface UpdateOpportunityInput {
    /** Specifies the catalog associated with the request. This field takes a string value from a predefined list: AWS or Sandbox. The catalog determines which environment the opportunity is updated in. Use A */
    Catalog: string;
    /** Read-only, system generated Opportunity unique identifier. */
    Identifier: string;
    /** DateTime when the opportunity was last modified. */
    LastModifiedDate: string;
    /** Specifies details of the customer associated with the Opportunity. */
    Customer?: Customer;
    /** An object that contains lifecycle details for the Opportunity. */
    LifeCycle?: LifeCycle;
    /** An object that contains marketing details for the Opportunity. */
    Marketing?: Marketing;
    /** Specifies if the opportunity is associated with national security concerns. This flag is only applicable when the industry is Government. For national-security-related opportunities, validation and co */
    NationalSecurity?: 'Yes' | 'No';
    /** Specifies the opportunity type as a renewal, new, or expansion. Opportunity types: New opportunity: Represents a new business opportunity with a potential customer that's not previously engaged with y */
    OpportunityType?: 'Net New Business' | 'Flat Renewal' | 'Expansion';
    /** Specifies the opportunity's unique identifier in the partner's CRM system. This value is essential to track and reconcile because it's included in the outbound payload sent back to the partner. */
    PartnerOpportunityIdentifier?: string;
    /** Identifies the type of support the partner needs from Amazon Web Services. Valid values: Cosell—Architectural Validation: Confirmation from Amazon Web Services that the partner's proposed solution arc */
    PrimaryNeedsFromAws?: 'Co-Sell - Architectural Validation' | 'Co-Sell - Business Presentation' | 'Co-Sell - Competitive Information' | 'Co-Sell - Pricing Assistance' | 'Co-Sell - Technical Consultation' | 'Co-Sell - Total Cost of Ownership Evaluation' | 'Co-Sell - Deal Support' | 'Co-Sell - Support for Public Tender / RFx'[];
    /** An object that contains project details summary for the Opportunity. */
    Project?: Project;
    /** Specifies details of a customer's procurement terms. Required only for partners in eligible programs. */
    SoftwareRevenue?: SoftwareRevenue;
}
/** PartnerCentral Selling service binding for Step Functions SDK integrations. */
export declare class PartnerCentralSelling {
    constructor();
    acceptEngagementInvitation<T>(params: AcceptEngagementInvitationInput): Promise<T>;
    assignOpportunity<T>(params: AssignOpportunityInput): Promise<T>;
    associateOpportunity<T>(params: AssociateOpportunityInput): Promise<T>;
    createEngagement<T>(params: CreateEngagementInput): Promise<T>;
    createEngagementContext<T>(params: CreateEngagementContextInput): Promise<T>;
    createEngagementInvitation<T>(params: CreateEngagementInvitationInput): Promise<T>;
    createOpportunity<T>(params: CreateOpportunityInput): Promise<T>;
    createResourceSnapshot<T>(params: CreateResourceSnapshotInput): Promise<T>;
    createResourceSnapshotJob<T>(params: CreateResourceSnapshotJobInput): Promise<T>;
    deleteResourceSnapshotJob<T>(params: DeleteResourceSnapshotJobInput): Promise<T>;
    disassociateOpportunity<T>(params: DisassociateOpportunityInput): Promise<T>;
    getAwsOpportunitySummary<T>(params: GetAwsOpportunitySummaryInput): Promise<T>;
    getEngagement<T>(params: GetEngagementInput): Promise<T>;
    getEngagementInvitation<T>(params: GetEngagementInvitationInput): Promise<T>;
    getOpportunity<T>(params: GetOpportunityInput): Promise<T>;
    getResourceSnapshot<T>(params: GetResourceSnapshotInput): Promise<T>;
    getResourceSnapshotJob<T>(params: GetResourceSnapshotJobInput): Promise<T>;
    getSellingSystemSettings<T>(params: GetSellingSystemSettingsInput): Promise<T>;
    listEngagementByAcceptingInvitationTasks<T>(params: ListEngagementByAcceptingInvitationTasksInput): Promise<T>;
    listEngagementFromOpportunityTasks<T>(params: ListEngagementFromOpportunityTasksInput): Promise<T>;
    listEngagementInvitations<T>(params: ListEngagementInvitationsInput): Promise<T>;
    listEngagementMembers<T>(params: ListEngagementMembersInput): Promise<T>;
    listEngagementResourceAssociations<T>(params: ListEngagementResourceAssociationsInput): Promise<T>;
    listEngagements<T>(params: ListEngagementsInput): Promise<T>;
    listOpportunities<T>(params: ListOpportunitiesInput): Promise<T>;
    listOpportunityFromEngagementTasks<T>(params: ListOpportunityFromEngagementTasksInput): Promise<T>;
    listResourceSnapshotJobs<T>(params: ListResourceSnapshotJobsInput): Promise<T>;
    listResourceSnapshots<T>(params: ListResourceSnapshotsInput): Promise<T>;
    listSolutions<T>(params: ListSolutionsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    putSellingSystemSettings<T>(params: PutSellingSystemSettingsInput): Promise<T>;
    rejectEngagementInvitation<T>(params: RejectEngagementInvitationInput): Promise<T>;
    startEngagementByAcceptingInvitationTask<T>(params: StartEngagementByAcceptingInvitationTaskInput): Promise<T>;
    startEngagementFromOpportunityTask<T>(params: StartEngagementFromOpportunityTaskInput): Promise<T>;
    startOpportunityFromEngagementTask<T>(params: StartOpportunityFromEngagementTaskInput): Promise<T>;
    startResourceSnapshotJob<T>(params: StartResourceSnapshotJobInput): Promise<T>;
    stopResourceSnapshotJob<T>(params: StopResourceSnapshotJobInput): Promise<T>;
    submitOpportunity<T>(params: SubmitOpportunityInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateEngagementContext<T>(params: UpdateEngagementContextInput): Promise<T>;
    updateOpportunity<T>(params: UpdateOpportunityInput): Promise<T>;
}
//# sourceMappingURL=PartnerCentralSelling.d.ts.map