export interface ComponentState { [hookIndex: number]: any; } export interface RenderState { [componentKey: string]: ComponentState; } export interface Handler { componentKey: string; prop: string; } export declare type ForgeProps = { [key: string]: any; }; export interface ForgeDoc { children: ForgeDoc[]; key?: string; props?: ForgeProps; type: string; reconciliationCount?: number; forgeReactMajorVersion?: number; hasChanged?: boolean; } export declare type ForgeElement

> = PrimitiveElement

| FunctionElement

; export interface PrimitiveElement

> { type: string; key: any; props: P & { children: ForgeNode[]; }; } export interface FunctionElement

> { type: (props: P) => ForgeElement; key: any; props: P & { children: ForgeNode[]; }; } export declare const isForgeElement: (auxNode: ForgeNode) => auxNode is ForgeElement>; export declare type ForgeNode = ForgeElement | null | boolean | undefined; export declare type ForgeChildren = T | (T | T[])[]; export interface PlatformContext { type: string; } export interface ExtensionContext { type: string; [key: string]: any; } export interface LicenseDetails { active: boolean; billingPeriod: string; ccpEntitlementId: string; ccpEntitlementSlug: string; isEvaluation: boolean; subscriptionEndDate: string | null; supportEntitlementNumber: string | null; trialEndDate: string | null; type: string; } export declare type AccountType = 'licensed' | 'unlicensed' | 'customer' | 'anonymous'; export interface ProductContext { accountId?: string; accountType?: AccountType; cloudId?: string; contentId?: string; localId?: string; spaceKey?: string; spaceId?: string; installContext?: string; platformContext?: PlatformContext; isConfig?: boolean; extensionContext?: ExtensionContext; license?: LicenseDetails; moduleKey?: string; siteUrl?: string; appId?: string; environmentId?: string; environmentType?: string; workspaceId?: string; } export interface ExtensionConfiguration { [key: string]: any; } export interface User { accountId: string; } export declare type CustomFieldValue = string | number | User | null; export interface JiraContext extends PlatformContext { type: 'jira'; issueId?: number; issueKey?: string; issueType?: string; projectKey?: string; projectId?: string; projectType?: string; } export declare const isJiraContext: (context: PlatformContext) => context is JiraContext; export interface IssuePanelExtensionContext extends ExtensionContext { type: 'issuePanel'; isNewToIssue: boolean; } export declare const isIssuePanelExtensionContext: (extensionContext: ExtensionContext) => extensionContext is IssuePanelExtensionContext; export interface CustomFieldContextConfigExtensionContext extends ExtensionContext { type: 'contextConfig'; fieldId: string; fieldType: string; contextId: number; configuration?: any; schema?: { [key: string]: any; }; } export declare const isCustomFieldContextConfigExtensionContext: (extensionContext: ExtensionContext) => extensionContext is CustomFieldContextConfigExtensionContext; export interface CustomFieldExtensionContext extends ExtensionContext { type: 'customField' | 'customFieldType'; fieldValue: CustomFieldValue; fieldId: string; fieldType: string; isInline?: boolean; } export declare const isCustomFieldExtensionContext: (extensionContext: ExtensionContext) => extensionContext is CustomFieldExtensionContext; export interface ContextMenuExtensionContext extends ExtensionContext { type: 'contextMenu'; selectedText: string; } export interface ContentActionExtensionContext extends ExtensionContext { type: 'contentAction'; } export declare const isContextMenuExtensionContext: (extensionContext: ExtensionContext) => extensionContext is ContextMenuExtensionContext; export declare const isContentActionExtensionContext: (extensionContext: ExtensionContext) => extensionContext is ContentActionExtensionContext; export interface DashboardGadgetExtensionContext extends ExtensionContext { type: 'dashboardGadget'; gadgetConfiguration: Record; } export declare const isDashboardGadgetExtensionContext: (extensionContext: ExtensionContext) => extensionContext is DashboardGadgetExtensionContext; export declare enum CompassContextTypes { AdminPage = "compass:adminPage", ComponentPage = "compass:componentPage", TeamPage = "compass:teamPage" } export interface CompassComponentPageExtensionContext extends ExtensionContext { type: CompassContextTypes.ComponentPage; componentId: string; } export interface CompassAdminPageExtensionContext extends ExtensionContext { type: CompassContextTypes.AdminPage; url: string; } export interface CompassTeamPageExtensionContext extends ExtensionContext { type: CompassContextTypes.TeamPage; teamId: string; } //# sourceMappingURL=forge.d.ts.map