import { CONFIG_FLAGS, HUBSPOT_CONFIG_ERROR_TYPES, HUBSPOT_CONFIG_OPERATIONS, STATE_FLAGS } from '../constants/config.js'; import { DeprecatedHubSpotConfigAccountFields, Environment, HubSpotConfigAccount } from './Accounts.js'; import { CmsPublishMode } from './Files.js'; import { ValueOf } from './Utils.js'; export interface HubSpotConfig { accounts: Array; allowUsageTracking?: boolean; allowAutoUpdates?: boolean; defaultAccount?: number; defaultMode?: CmsPublishMode; defaultCmsPublishMode?: CmsPublishMode; httpTimeout?: number; env?: Environment; httpUseLocalhost?: boolean; autoOpenBrowser?: boolean; useCustomObjectHubfile?: boolean; flags?: Array; } export type DeprecatedHubSpotConfigFields = { portals?: Array; defaultPortal?: string; defaultMode?: CmsPublishMode; }; export type GitInclusionResult = { inGit: boolean; configIgnored: boolean; gitignoreFiles: Array; }; export type ConfigFlag = ValueOf; export type HubSpotState = { [STATE_FLAGS.MCP_TOTAL_TOOL_CALLS]: number; [STATE_FLAGS.MCP_PROMOTION_LAST_SHOWN_AT]?: string; [STATE_FLAGS.USAGE_TRACKING_MESSAGE_LAST_SHOW_VERSION]?: string; [STATE_FLAGS.CLI_VERSION_DEPRECATION_WARNING_LAST_SHOWN_AT]?: string; [STATE_FLAGS.CLI_VERSION_END_OF_LIFE_WARNING_LAST_SHOWN_AT]?: string; }; export type HubSpotConfigErrorType = ValueOf; export type HubSpotConfigOperation = ValueOf; export type HubSpotConfigValidationResult = { isValid: boolean; errors: Array; };