import { ActionsEnum } from '../../enums/actions.enum'; import { EventsEnum } from '../../enums/events.enum'; import { FieldDto } from '../field.dto'; import { ResponseDataDto } from '../response-data.dto'; import { UnitDto } from '../unit.dto'; import { LanguageEnum } from '../../enums/language.enum'; import { RolesEnum } from '../../enums/roles.enum'; import { ActionDto } from '../action.dto'; /** * DTO for integration information * Contains all information related to a service integration */ export declare class InfoDto { /** * The title of the integration */ title: string; /** * The logo of the integration (optional) */ logo?: string; /** * Description of the integration and its services (optional) */ description?: string; /** * List of supported languages for the integration. */ supported_languages: LanguageEnum[]; /** * Custom attributes for products. */ product_attributes?: FieldDto[]; /** * Custom attributes for items. */ item_attributes?: FieldDto[]; /** * Events that the integration listens to. */ listen_events?: EventsEnum[]; /** * The roles that need to be accepted by the company */ requiredRoles?: RolesEnum[]; /** * Actions that are not supported by the integration. */ unsupportedActions?: ActionsEnum[]; /** * Configuration for the admin panel. */ adminPanel?: AdminPanelDto; /** * Configuration for the client panel. */ clientPanel?: ClientPanelDto; /** * The url for the onboarding process after installation of the integration */ onboardingUrl?: string; /** * Units for pay-per-use billing. */ payPerUseUnits?: UnitDto[]; /** * Mapping of response data field names. */ responseDataFieldNames?: Record; } /** * DTO for tabs * Used for defining tabs in the user interface */ declare class TabDto { /** * The label displayed on the tab */ label: string; /** * The URL associated with the tab. * The requests coming from the hoster will be signed * with jwt, which will contain information about the company */ url: string; } /** * DTO for menu items * Extends TabDto and adds icon information */ declare class MenuDto { /** * The icon to be displayed for the menu item */ icon: string; /** * The name to be displayed for the menu item */ label: string; /** * The list of tabs that will appear in the submenu and as a navigation bar above the main content * In case of only one tab, there will be neither a submenu nor a navigation bar. */ tabs: TabDto[]; } /** * DTO for the tabs in the admin panel. */ declare class AdminPanelTabsDto { /** * Tabs related to products. */ product: TabDto[]; /** * Tabs related to items. */ item: TabDto[]; /** * Tabs related to clients. */ client: TabDto[]; /** * Tabs related to orders. */ order: TabDto[]; } /** * DTO for actions available in a panel. */ declare class PanelActionsDto { /** * Actions related to clients. */ client?: ActionDto[]; /** * Actions related to items. */ item?: ActionDto[]; } /** * DTO for the admin panel configuration. */ declare class AdminPanelDto { /** * Configuration for the tabs in the admin panel. */ tabs?: AdminPanelTabsDto; /** * Additional actions available in the admin panel. */ moreActions?: PanelActionsDto; /** * Main menu for the admin panel. */ menu?: MenuDto; /** * Settings menu for the admin panel. */ settings?: MenuDto; } /** * DTO for the tabs in the client panel. */ declare class ClientPanelTabsDto { /** * Tabs related to items. */ item: TabDto[]; } /** * DTO for actions available in the client panel. */ declare class ClientPanelActionsDto { /** * Actions related to items. */ item?: ActionDto[]; } /** * DTO for the client panel configuration. */ declare class ClientPanelDto { /** * Configuration for the tabs in the client panel. */ tabs?: ClientPanelTabsDto; /** * Additional actions available in the client panel. */ moreActions?: ClientPanelActionsDto; /** * Main menu for the client panel. */ menu?: MenuDto; } export {};