import { AbstractEntity } from '../../../abstractEntity'; export declare enum IssueFields { COLUMN_ADDITIONAL_DATA = "additionalData", COLUMN_CREATED = "created", COLUMN_CREATED_BY = "createdBy", COLUMN_DESCRIPTION = "description", COLUMN_END_CUSTOMER_REF = "endCustomerRef", COLUMN_ID = "id", COLUMN_KEY = "key", COLUMN_LANGUAGE = "language", COLUMN_OFFER = "offer", COLUMN_PRIORITY = "priority", COLUMN_PROGRAM = "program", COLUMN_RESELLER = "reseller", COLUMN_STATUS = "status", COLUMN_SUPPORT_PLAN = "supportPlan", COLUMN_TITLE = "title", COLUMN_TOPIC = "topic", COLUMN_TOPIC_ID = "topicId", COLUMN_UPDATED = "updated" } export declare enum IssueOfferFields { COLUMN_SKU = "sku", COLUMN_NAME = "name", COLUMN_VENDOR = "vendor" } export declare enum IssueCreatedByFields { COLUMN_EMAIL = "email", COLUMN_FIRST_NAME = "firstName", COLUMN_LAST_NAME = "lastName", COLUMN_PHONE = "phone" } export declare enum IssueSupportPlanFields { COLUMN_LABEL = "label", COLUMN_SKU = "sku", COLUMN_SOURCE_PORTAL = "sourcePortal" } export declare enum IssueAdditionalDataFields { COLUMN_NAME = "name", COLUMN_VALUE = "value" } export declare type IssueOfferType = { [IssueOfferFields.COLUMN_SKU]: string; [IssueOfferFields.COLUMN_NAME]?: string; [IssueOfferFields.COLUMN_VENDOR]?: string; }; export declare enum IssueStatusesType { PENDING_CUSTOMER = "PENDING_CUSTOMER", PENDING_VENDOR = "PENDING_VENDOR", PENDING_ARROW = "PENDING_ARROW", ON_HOLD = "ON_HOLD", CLOSED = "CLOSED", PENDING_CLOSE = "PENDING_CLOSE" } export declare type IssueCreatedByType = { [IssueCreatedByFields.COLUMN_EMAIL]: string; [IssueCreatedByFields.COLUMN_FIRST_NAME]: string; [IssueCreatedByFields.COLUMN_LAST_NAME]: string; [IssueCreatedByFields.COLUMN_PHONE]?: string; }; export declare type IssueSupportPlanType = { [IssueSupportPlanFields.COLUMN_SKU]?: string; [IssueSupportPlanFields.COLUMN_LABEL]?: string; [IssueSupportPlanFields.COLUMN_SOURCE_PORTAL]?: string; }; export declare type IssueAdditionalDataType = { [IssueAdditionalDataFields.COLUMN_NAME]: string; [IssueAdditionalDataFields.COLUMN_VALUE]: string; }; export declare type IssueType = { [IssueFields.COLUMN_ID]?: string; [IssueFields.COLUMN_KEY]?: string; [IssueFields.COLUMN_TITLE]: string; [IssueFields.COLUMN_DESCRIPTION]: string; [IssueFields.COLUMN_TOPIC_ID]: string; [IssueFields.COLUMN_TOPIC]?: string; [IssueFields.COLUMN_END_CUSTOMER_REF]?: string; [IssueFields.COLUMN_LANGUAGE]?: string; [IssueFields.COLUMN_OFFER]?: IssueOfferType; [IssueFields.COLUMN_PRIORITY]?: number; [IssueFields.COLUMN_STATUS]?: string; [IssueFields.COLUMN_CREATED_BY]?: IssueCreatedByType; [IssueFields.COLUMN_SUPPORT_PLAN]?: IssueSupportPlanType; [IssueFields.COLUMN_PROGRAM]: string; [IssueFields.COLUMN_ADDITIONAL_DATA]?: Array; [IssueFields.COLUMN_CREATED]?: string; [IssueFields.COLUMN_UPDATED]?: string; }; export declare class IssueOffer extends AbstractEntity { #private; constructor(input: IssueOfferType); get sku(): string; get name(): string | undefined; get vendor(): string | undefined; toJSON(): IssueOfferType; } export declare class IssueCreatedBy extends AbstractEntity { #private; constructor(input: IssueCreatedByType); get email(): string; get firstName(): string; get lastName(): string; get phone(): string | undefined; toJSON(): IssueCreatedByType; } export declare class IssueSupportPlan extends AbstractEntity { #private; constructor(input: IssueSupportPlanType); get sku(): string | undefined; get label(): string | undefined; get sourcePortal(): string | undefined; toJSON(): IssueSupportPlanType; } export declare class IssueAdditionalData extends AbstractEntity { #private; constructor(input: IssueAdditionalDataType); get name(): string; get value(): string; toJSON(): IssueAdditionalDataType; } export declare class Issue extends AbstractEntity { #private; constructor(input: IssueType); get id(): string | undefined; get key(): string | undefined; get title(): string; get description(): string; get topicId(): string; get topic(): string | undefined; get endCustomerRef(): string | undefined; get language(): string | undefined; get offer(): IssueOffer | undefined; get priority(): number | undefined; get status(): string | undefined; get createdBy(): IssueCreatedBy | undefined; get supportPlan(): IssueSupportPlan | undefined; get program(): string; get additionalData(): Array | undefined; get created(): Date | undefined; get updated(): Date | undefined; toJSON(): IssueType; } export declare type IssuesType = Array; export declare class Issues extends AbstractEntity { #private; constructor(input: IssuesType); get list(): Issue[]; toJSON(): IssuesType; }