import { StatusHistoryItemInterface, DurationInterface } from './_internal/interfaces'; export declare const CustomerApprovalEventSending = "sending"; export declare const CustomerApprovalEventProcessing = "processing"; export declare const CustomerApprovalEventDelivered = "delivered"; export declare const CustomerApprovalEventBounced = "bounced"; export declare const CustomerApprovalEventDropped = "dropped"; export declare const CustomerApprovalEventUnsubscribed = "unsubscribed"; export declare const CustomerApprovalEventDeferred = "deferred"; export declare const CustomerApprovalEventSpamReport = "spam-report"; export declare const CustomerApprovalEventOpened = "opened"; export declare const CustomerApprovalEventClicked = "clicked"; export declare const CustomerApprovalEventUpdatedAnswers = "updated-answers"; export declare const RequestCancellationEvent = "cancellation-requested"; export declare const DeclineCancellationEvent = "cancellation-declined"; export declare const UpdatedTagsEvent = "updated-tags"; export declare const UpdatedNotesEvent = "updated-notes"; export declare const UpdatedCustomerNotesEvent = "updated-customer-notes"; export declare const UpdatedRequestedActivationEvent = "updated-requested-activation"; export declare const UpdateContractDurationEvent = "updated-contract-duration"; export declare const UpdateEnforceContractTermEvent = "updated-enforce-contract-term"; export declare const UpdatedDraftEvent = "updated-draft"; export declare const UpdatedLineItemsEvent = "updated-line-items"; export declare const DeclinedEvent = "order-declined"; export declare const UpdatedSalespersonEvent = "updated-salesperson"; export declare const UpdatedAttachmentsEvent = "updated-attachments"; export declare const UpdatedCustomerAttachmentsEvent = "updated-customer-attachments"; export declare class StatusHistoryEvent { id: string; name: string; constructor(id: string, name: string); } export declare class SubmittedForCustomerApprovalSendingMetadataData { offerExpiry: Date; } export declare class SubmittedForCustomerApprovalMetadata { userId: string; event: StatusHistoryEvent; offerExpiry?: Date; constructor(userId: string, event: StatusHistoryEvent); } export declare class SubmittedForCustomerApprovalSendingMetadata extends SubmittedForCustomerApprovalMetadata { userId: string; event: StatusHistoryEvent; offerExpiry?: Date; constructor(userId: string, event: StatusHistoryEvent, metadata: SubmittedForCustomerApprovalSendingMetadataData); } export declare class UpdatedDraftMetadata { userId: string; event: StatusHistoryEvent; constructor(userId: string, event: StatusHistoryEvent); } export declare class UpdatedPricingMetadata { userId: string; event: StatusHistoryEvent; constructor(userId: string, event: StatusHistoryEvent); } export declare class UpdatedLineItemsMetadata { userId: string; event: StatusHistoryEvent; constructor(userId: string, event: StatusHistoryEvent); } interface UpdatedTagsMetadataData { tags: string[]; } export declare class UpdatedTagsMetadata { userId: string; event: StatusHistoryEvent; tags: string[]; constructor(userId: string, event: StatusHistoryEvent, data: UpdatedTagsMetadataData); } interface UpdatedSalespersonMetadataData { } export declare class UpdatedSalespersonMetadata { userId: string; event: StatusHistoryEvent; constructor(userId: string, event: StatusHistoryEvent, data: UpdatedSalespersonMetadataData); } interface UpdatedRequestedActivationMetadataData { previous: Date; current: Date; } export declare class UpdatedRequestedActivationMetadata { userId: string; event: StatusHistoryEvent; previous: Date; current: Date; constructor(userId: string, event: StatusHistoryEvent, data: UpdatedRequestedActivationMetadataData); } interface UpdateContractDurationMetadataData { previous: DurationInterface; current: DurationInterface; } export declare class UpdateContractDurationMetadata { userId: string; event: StatusHistoryEvent; previous: DurationInterface; current: DurationInterface; constructor(userId: string, event: StatusHistoryEvent, data: UpdateContractDurationMetadataData); } interface UpdateEnforceContractTermMetadataData { previous: boolean; current: boolean; } export declare class UpdateEnforceContractTermMetadata { userId: string; event: StatusHistoryEvent; previous: boolean; current: boolean; constructor(userId: string, event: StatusHistoryEvent, data: UpdateEnforceContractTermMetadataData); } export declare class UpdatedAttachmentsMetadata { userId: string; event: StatusHistoryEvent; constructor(userId: string, event: StatusHistoryEvent); } export declare class UpdatedCustomerAttachmentsMetadata { userId: string; event: StatusHistoryEvent; constructor(userId: string, event: StatusHistoryEvent); } interface NotesMetadataData { previous: string; current: string; } export declare class RequestCancellationMetadata { userId: string; event: StatusHistoryEvent; previous: string; current: string; constructor(userId: string, event: StatusHistoryEvent, data: NotesMetadataData); } export declare class NotesMetadata { userId: string; event: StatusHistoryEvent; previous: string; current: string; constructor(userId: string, event: StatusHistoryEvent, data: NotesMetadataData); } export declare class CustomerNotesMetadata extends NotesMetadata { constructor(userId: string, event: StatusHistoryEvent, data: NotesMetadataData); } interface DeclinedOrderMetadataData { current: string; declined_reasons?: string[]; charge_failure_code?: string; charge_decline_code?: string; } export declare class DeclinedOrderMetadata { userId: string; event: StatusHistoryEvent; previous: string; current: string; declinedReasons: string[]; chargeFailureCode: string; chargeDeclineCode: string; constructor(userId: string, event: StatusHistoryEvent, data: DeclinedOrderMetadataData); } export type HistoryMetadata = (SubmittedForCustomerApprovalMetadata | UpdatedTagsMetadata | UpdatedRequestedActivationMetadata | UpdateContractDurationMetadata | UpdateEnforceContractTermMetadata | RequestCancellationMetadata | NotesMetadata | UpdatedDraftMetadata | UpdatedPricingMetadata | UpdatedLineItemsMetadata | DeclinedOrderMetadata | SubmittedForCustomerApprovalSendingMetadata | UpdatedSalespersonMetadata | UpdatedAttachmentsMetadata | UpdatedCustomerAttachmentsMetadata | null); export declare function getMetadataFromStatusHistoryItem(h: StatusHistoryItemInterface): HistoryMetadata; export {};