import { DocumentType as __DocumentType } from "@smithy/types"; import { BenefitAllocationStatus, BenefitApplicationStatus, BenefitStatus, CurrencyCode, FileType, FulfillmentType, ResourceType, ValidationExceptionErrorCode, } from "./enums"; export interface AccessDetails { Description?: string | undefined; } export interface Amendment { FieldPath: string | undefined; NewValue: string | undefined; } export interface AmendBenefitApplicationInput { Catalog: string | undefined; ClientToken: string | undefined; Revision: string | undefined; Identifier: string | undefined; AmendmentReason: string | undefined; Amendments: Amendment[] | undefined; } export interface AmendBenefitApplicationOutput {} export interface ValidationExceptionField { Name: string | undefined; Message: string | undefined; Code?: ValidationExceptionErrorCode | undefined; } export interface AssociateBenefitApplicationResourceInput { Catalog: string | undefined; BenefitApplicationIdentifier: string | undefined; ResourceArn: string | undefined; } export interface AssociateBenefitApplicationResourceOutput { Id?: string | undefined; Arn?: string | undefined; Revision?: string | undefined; } export interface AssociatedResource { ResourceType?: ResourceType | undefined; ResourceIdentifier?: string | undefined; ResourceArn?: string | undefined; } export interface BenefitAllocationSummary { Id?: string | undefined; Catalog?: string | undefined; Arn?: string | undefined; Status?: BenefitAllocationStatus | undefined; StatusReason?: string | undefined; Name?: string | undefined; BenefitId?: string | undefined; BenefitApplicationId?: string | undefined; FulfillmentTypes?: FulfillmentType[] | undefined; CreatedAt?: Date | undefined; ExpiresAt?: Date | undefined; ApplicableBenefitIds?: string[] | undefined; } export interface BenefitApplicationSummary { Catalog?: string | undefined; Name?: string | undefined; Id?: string | undefined; Arn?: string | undefined; BenefitId?: string | undefined; Programs?: string[] | undefined; FulfillmentTypes?: FulfillmentType[] | undefined; Status?: BenefitApplicationStatus | undefined; Stage?: string | undefined; CreatedAt?: Date | undefined; UpdatedAt?: Date | undefined; BenefitApplicationDetails?: Record | undefined; AssociatedResources?: string[] | undefined; } export interface BenefitSummary { Id?: string | undefined; Catalog?: string | undefined; Arn?: string | undefined; Name?: string | undefined; Description?: string | undefined; Programs?: string[] | undefined; FulfillmentTypes?: FulfillmentType[] | undefined; Status?: BenefitStatus | undefined; } export interface CancelBenefitApplicationInput { Catalog: string | undefined; ClientToken: string | undefined; Identifier: string | undefined; Reason?: string | undefined; } export interface CancelBenefitApplicationOutput {} export interface MonetaryValue { Amount: string | undefined; CurrencyCode: CurrencyCode | undefined; } export interface IssuanceDetail { IssuanceId?: string | undefined; IssuanceAmount?: MonetaryValue | undefined; IssuedAt?: Date | undefined; } export interface ConsumableDetails { AllocatedAmount?: MonetaryValue | undefined; RemainingAmount?: MonetaryValue | undefined; UtilizedAmount?: MonetaryValue | undefined; IssuanceDetails?: IssuanceDetail | undefined; } export interface Contact { Email?: string | undefined; FirstName?: string | undefined; LastName?: string | undefined; BusinessTitle?: string | undefined; Phone?: string | undefined; } export interface FileInput { FileURI: string | undefined; BusinessUseCase?: string | undefined; } export interface Tag { Key: string | undefined; Value: string | undefined; } export interface CreateBenefitApplicationInput { Catalog: string | undefined; ClientToken: string | undefined; Name?: string | undefined; Description?: string | undefined; BenefitIdentifier: string | undefined; FulfillmentTypes?: FulfillmentType[] | undefined; BenefitApplicationDetails?: __DocumentType | undefined; Tags?: Tag[] | undefined; AssociatedResources?: string[] | undefined; PartnerContacts?: Contact[] | undefined; FileDetails?: FileInput[] | undefined; } export interface CreateBenefitApplicationOutput { Id?: string | undefined; Arn?: string | undefined; Revision?: string | undefined; } export interface CreditCode { AwsAccountId: string | undefined; Value: MonetaryValue | undefined; AwsCreditCode: string | undefined; Status: BenefitAllocationStatus | undefined; IssuedAt: Date | undefined; ExpiresAt: Date | undefined; } export interface CreditDetails { AllocatedAmount: MonetaryValue | undefined; IssuedAmount: MonetaryValue | undefined; Codes: CreditCode[] | undefined; } export interface DisassociateBenefitApplicationResourceInput { Catalog: string | undefined; BenefitApplicationIdentifier: string | undefined; ResourceArn: string | undefined; } export interface DisassociateBenefitApplicationResourceOutput { Id?: string | undefined; Arn?: string | undefined; Revision?: string | undefined; } export interface DisbursementDetails { DisbursedAmount?: MonetaryValue | undefined; IssuanceDetails?: IssuanceDetail | undefined; } export interface FileDetail { FileURI: string | undefined; BusinessUseCase?: string | undefined; FileName?: string | undefined; FileStatus?: string | undefined; FileStatusReason?: string | undefined; FileType?: FileType | undefined; CreatedBy?: string | undefined; CreatedAt?: Date | undefined; } export type FulfillmentDetails = | FulfillmentDetails.AccessDetailsMember | FulfillmentDetails.ConsumableDetailsMember | FulfillmentDetails.CreditDetailsMember | FulfillmentDetails.DisbursementDetailsMember | FulfillmentDetails.$UnknownMember; export declare namespace FulfillmentDetails { interface DisbursementDetailsMember { DisbursementDetails: DisbursementDetails; ConsumableDetails?: never; CreditDetails?: never; AccessDetails?: never; $unknown?: never; } interface ConsumableDetailsMember { DisbursementDetails?: never; ConsumableDetails: ConsumableDetails; CreditDetails?: never; AccessDetails?: never; $unknown?: never; } interface CreditDetailsMember { DisbursementDetails?: never; ConsumableDetails?: never; CreditDetails: CreditDetails; AccessDetails?: never; $unknown?: never; } interface AccessDetailsMember { DisbursementDetails?: never; ConsumableDetails?: never; CreditDetails?: never; AccessDetails: AccessDetails; $unknown?: never; } interface $UnknownMember { DisbursementDetails?: never; ConsumableDetails?: never; CreditDetails?: never; AccessDetails?: never; $unknown: [string, any]; } interface Visitor { DisbursementDetails: (value: DisbursementDetails) => T; ConsumableDetails: (value: ConsumableDetails) => T; CreditDetails: (value: CreditDetails) => T; AccessDetails: (value: AccessDetails) => T; _: (name: string, value: any) => T; } } export interface GetBenefitInput { Catalog: string | undefined; Identifier: string | undefined; } export interface GetBenefitOutput { Id?: string | undefined; Catalog?: string | undefined; Arn?: string | undefined; Name?: string | undefined; Description?: string | undefined; Programs?: string[] | undefined; FulfillmentTypes?: FulfillmentType[] | undefined; BenefitRequestSchema?: __DocumentType | undefined; Status?: BenefitStatus | undefined; } export interface GetBenefitAllocationInput { Catalog: string | undefined; Identifier: string | undefined; } export interface GetBenefitAllocationOutput { Id?: string | undefined; Catalog?: string | undefined; Arn?: string | undefined; Name?: string | undefined; Description?: string | undefined; Status?: BenefitAllocationStatus | undefined; StatusReason?: string | undefined; BenefitApplicationId?: string | undefined; BenefitId?: string | undefined; FulfillmentType?: FulfillmentType | undefined; ApplicableBenefitIds?: string[] | undefined; FulfillmentDetail?: FulfillmentDetails | undefined; CreatedAt?: Date | undefined; UpdatedAt?: Date | undefined; StartsAt?: Date | undefined; ExpiresAt?: Date | undefined; } export interface GetBenefitApplicationInput { Catalog: string | undefined; Identifier: string | undefined; } export interface GetBenefitApplicationOutput { Id?: string | undefined; Arn?: string | undefined; Catalog?: string | undefined; BenefitId?: string | undefined; Name?: string | undefined; Description?: string | undefined; FulfillmentTypes?: FulfillmentType[] | undefined; BenefitApplicationDetails?: __DocumentType | undefined; Programs?: string[] | undefined; Status?: BenefitApplicationStatus | undefined; Stage?: string | undefined; StatusReason?: string | undefined; StatusReasonCode?: string | undefined; StatusReasonCodes?: string[] | undefined; CreatedAt?: Date | undefined; UpdatedAt?: Date | undefined; Revision?: string | undefined; AssociatedResources?: string[] | undefined; PartnerContacts?: Contact[] | undefined; FileDetails?: FileDetail[] | undefined; } export interface ListBenefitAllocationsInput { Catalog: string | undefined; FulfillmentTypes?: FulfillmentType[] | undefined; BenefitIdentifiers?: string[] | undefined; BenefitApplicationIdentifiers?: string[] | undefined; Status?: BenefitAllocationStatus[] | undefined; MaxResults?: number | undefined; NextToken?: string | undefined; } export interface ListBenefitAllocationsOutput { BenefitAllocationSummaries?: BenefitAllocationSummary[] | undefined; NextToken?: string | undefined; } export interface ListBenefitApplicationsInput { Catalog: string | undefined; Programs?: string[] | undefined; FulfillmentTypes?: FulfillmentType[] | undefined; BenefitIdentifiers?: string[] | undefined; Status?: BenefitApplicationStatus[] | undefined; Stages?: string[] | undefined; AssociatedResources?: AssociatedResource[] | undefined; AssociatedResourceArns?: string[] | undefined; MaxResults?: number | undefined; NextToken?: string | undefined; } export interface ListBenefitApplicationsOutput { BenefitApplicationSummaries?: BenefitApplicationSummary[] | undefined; NextToken?: string | undefined; } export interface ListBenefitsInput { Catalog: string | undefined; Programs?: string[] | undefined; FulfillmentTypes?: FulfillmentType[] | undefined; Status?: BenefitStatus[] | undefined; MaxResults?: number | undefined; NextToken?: string | undefined; } export interface ListBenefitsOutput { BenefitSummaries?: BenefitSummary[] | undefined; NextToken?: string | undefined; } export interface ListTagsForResourceRequest { resourceArn: string | undefined; } export interface ListTagsForResourceResponse { tags?: Tag[] | undefined; } export interface RecallBenefitApplicationInput { Catalog: string | undefined; ClientToken?: string | undefined; Identifier: string | undefined; Reason: string | undefined; } export interface RecallBenefitApplicationOutput {} export interface SubmitBenefitApplicationInput { Catalog: string | undefined; Identifier: string | undefined; } export interface SubmitBenefitApplicationOutput {} export interface TagResourceRequest { resourceArn: string | undefined; tags: Tag[] | undefined; } export interface TagResourceResponse {} export interface UntagResourceRequest { resourceArn: string | undefined; tagKeys: string[] | undefined; } export interface UntagResourceResponse {} export interface UpdateBenefitApplicationInput { Catalog: string | undefined; ClientToken: string | undefined; Name?: string | undefined; Description?: string | undefined; Identifier: string | undefined; Revision: string | undefined; BenefitApplicationDetails?: __DocumentType | undefined; PartnerContacts?: Contact[] | undefined; FileDetails?: FileInput[] | undefined; } export interface UpdateBenefitApplicationOutput { Id?: string | undefined; Arn?: string | undefined; Revision?: string | undefined; }