import UIElement from './external/UIElement/UIElement'; import { Core, onErrorHandler } from '../core'; import { TransactionsTableFields } from './external/TransactionsOverview/components/TransactionsTable/types'; import { IPayout, IPayoutDetails, IReport, ITransaction, ITransactionWithDetails } from '../types'; import { AnchorHTMLAttributes } from 'preact/compat'; import { ReportsTableFields } from './external/ReportsOverview/components/ReportsTable/ReportsTable'; import { StringWithAutocompleteOptions } from '../utils/types'; import { PayoutsTableFields } from './external/PayoutsOverview/components/PayoutsTable/PayoutsTable'; import { TransactionDetailsFields } from './external'; import { IDisputeListItem } from '../types/api/models/disputes'; import { DisputesTableFields } from './external/DisputesOverview/components/DisputesTable/DisputesTable'; import { PaymentLinkCreationFormValues } from './external/PaymentLinkCreation/components/types'; import { FieldValues } from '../hooks/form/types'; import { StoreIds } from './external/PaymentLinksOverview/types'; export declare const enum InteractionKeyCode { ARROW_DOWN = "ArrowDown", ARROW_LEFT = "ArrowLeft", ARROW_RIGHT = "ArrowRight", ARROW_UP = "ArrowUp", BACKSPACE = "Backspace", END = "End", ENTER = "Enter", ESCAPE = "Escape", HOME = "Home", PAGE_DOWN = "PageDown", PAGE_UP = "PageUp", SPACE = "Space", TAB = "Tab", DELETE = "Delete" } export interface BaseElementProps { core: Core; } export interface IUIElement { accessibleName: string; displayName: string; elementRef: any; type: string; } export interface IFormElement

{ submit(): void; setStatus(status: UIElementStatus, props?: any): UIElement

; showValidation(): void; setState(newState: object): void; } export type UIElementStatus = 'ready' | 'loading' | 'error' | 'success'; export type SetTriggerValidation = (callback: (schema?: Record) => void) => void; export interface UIElementProps { hideTitle?: boolean; onContactSupport?: () => void; onError?: onErrorHandler; ref?: any; } export interface FormProps

{ onChange?: (state: any, element: UIElement

| null) => void; onValid?: (state: any, element: UIElement

| null) => void; beforeSubmit?: (state: any, element: UIElement

, actions: any) => Promise; onSubmit?: (state: any, element: UIElement

| null) => void; onComplete?: (state: BaseElementProps, element: UIElement

| null) => void; onError?: (error: any, element?: UIElement

| null) => void; triggerValidation?: SetTriggerValidation; } export type BaseElementState = { errors?: { [key: string]: any; }; valid?: { [key: string]: boolean; }; fieldProblems?: { [key: string]: any; }; isValid?: boolean; }; export type _UIComponentProps = BaseElementProps & Omit & T & {}; export type ExternalUIComponentProps = UIElementProps & T & {}; type onRecordSelection void; }> = (selection: T) => any; interface _DataOverviewSelectionProps void; } = { showModal: () => void; }> { onRecordSelection?: onRecordSelection; } export type DataGridIcon = { url: string; alt?: string; } | ((value: unknown) => { url: string; alt?: string; }); export type DataGridCustomColumnConfig = { key: k; flex?: number; align?: 'right' | 'left' | 'center'; visibility?: 'visible' | 'hidden'; }; export type CustomColumn = { [k in T]: DataGridCustomColumnConfig; }[T]; interface _DataOverviewComponentProps { allowLimitSelection?: boolean; balanceAccountId?: string; onFiltersChanged?: (filters: { [P in FilterParam]?: string; }) => any; preferredLimit?: 10 | 20; showDetails?: boolean; onContactSupport?: () => void; } export type CustomDataObject = CustomIconObject | CustomTextObject | CustomLinkObject | CustomButtonObject; interface BaseCustomObject { value: any; } type BaseDetails = { className?: string; }; export interface CustomIconObject extends BaseCustomObject { type: 'icon'; config: BaseDetails & { src: string; alt?: string; }; } export interface CustomTextObject extends BaseCustomObject { type: 'text'; config?: BaseDetails; } export interface CustomLinkObject extends BaseCustomObject { type: 'link'; config: BaseDetails & { href: string; target?: AnchorHTMLAttributes['target']; }; } export interface CustomButtonObject extends BaseCustomObject { type: 'button'; config: BaseDetails & { action: () => void; }; } export type CustomDataRetrieved = { [k: string]: CustomDataObject | Record | string | number | boolean; }; export type OnDataRetrievedCallback = (data: DataRetrieved) => Promise; export type DataCustomizationObject = { fields: CustomColumn>[]; onDataRetrieve?: OnDataRetrievedCallback; }; export type DetailsCustomFieldConfig = { key: k; visibility?: 'visible' | 'hidden'; }; export type CustomDetailsField = { [k in T]: DetailsCustomFieldConfig; }[T]; export type DetailsDataCustomizationObject = { fields: CustomDetailsField>[]; onDataRetrieve?: OnDataRetrievedCallback; }; interface _CustomizableDataOverview>> { dataCustomization?: CustomizationOptions; } type OverviewCustomizationProperties = { list?: DataCustomizationObject; details?: DetailsDataCustomizationObject; }; export interface ReportsOverviewComponentProps extends Omit<_DataOverviewComponentProps, 'showDetails'>, _CustomizableDataOverview, 'details'>> { } export interface TransactionOverviewComponentProps extends _DataOverviewComponentProps, _CustomizableDataOverview>, _DataOverviewSelectionProps<{ id: string; showModal: () => void; }> { } type PaymentLinkOverviewSubComponentProps = Omit; export interface PaymentLinksOverviewComponentProps extends _DataOverviewComponentProps, _DataOverviewSelectionProps<{ id: string; showModal: () => void; }> { paymentLinkCreation?: PaymentLinkOverviewSubComponentProps; paymentLinkSettings?: PaymentLinkOverviewSubComponentProps; storeIds?: StoreIds; } export interface PayoutsOverviewComponentProps extends _DataOverviewComponentProps, _CustomizableDataOverview>, _DataOverviewSelectionProps<{ balanceAccountId: string; date: string; showModal: () => void; }> { } export interface DisputeOverviewComponentProps extends _DataOverviewComponentProps, _CustomizableDataOverview, 'list'>>, _DataOverviewSelectionProps<{ id: string; showModal: () => void; }> { } export type DeepPartial = T extends object ? { [K in keyof T]?: DeepPartial; } : T; export type PaymentLinkFieldVisibility = 'hidden' | 'readOnly'; export type PaymentLinkParentFields = 'amount' | 'deliveryAddress' | 'billingAddress' | 'shopperName' | 'linkValidity'; type AmountVisibility = PaymentLinkFieldVisibility | Partial>; type AddressVisibility = PaymentLinkFieldVisibility | Partial>; type ShopperNameVisibility = PaymentLinkFieldVisibility | Partial>; type LinkValidityVisibility = PaymentLinkFieldVisibility | Partial>; export type PaymentLinkFieldsVisibilityConfig = Partial, PaymentLinkFieldVisibility>, PaymentLinkParentFields> & { amount?: AmountVisibility; deliveryAddress?: AddressVisibility; billingAddress?: AddressVisibility; shopperName?: ShopperNameVisibility; linkValidity?: LinkValidityVisibility; }>; export interface PaymentLinkCreationFieldsConfig { data?: DeepPartial; visibility?: PaymentLinkFieldsVisibilityConfig; } export interface PaymentLinkCreationComponentProps extends UIElementProps { fieldsConfig?: PaymentLinkCreationFieldsConfig; storeIds?: StoreIds; onPaymentLinkCreated?: (paymentLink: PaymentLinkCreationFormValues) => void; onCreationDismiss?: () => void; } export interface PaymentLinkSettingsComponentProps extends UIElementProps { storeIds?: string[] | string; } export declare const enum FilterParam { BALANCE_ACCOUNT = "balanceAccount", CATEGORIES = "categories", CURRENCIES = "currencies", CREATED_SINCE = "createdSince", CREATED_UNTIL = "createdUntil", STATUSES = "statuses", MIN_AMOUNT = "minAmount", MAX_AMOUNT = "maxAmount", LINK_TYPES = "linkTypes", MERCHANT_REFERENCE = "merchantReference", PAYMENT_LINK_ID = "paymentLinkId", STORE_IDS = "storeIds" } export type ExternalComponentType = 'capitalOverview' | 'capitalOffer' | 'disputes' | 'disputesManagement' | 'paymentLinkCreation' | 'paymentLinkDetails' | 'paymentLinksOverview' | 'paymentLinkSettings' | 'payouts' | 'payoutDetails' | 'reports' | 'transactions' | 'transactionDetails'; export {}; //# sourceMappingURL=types.d.ts.map