import { GuidValue, ILayoutCanvasExpansionItemInstance, WebComponentDefinition } from "@omnia/fx-models"; import { SpfxWebPartSettingMsg } from "../messagebus/internal/InternalTopics"; import { OmniaWPContainerSettingsModel } from "../models"; export interface OmniaWPState { webComponents: WebComponentDefinition[]; displaySelectComponents: boolean; displaySettingsComponentForm: boolean; selectedComponentTag: string; selectedSettingsComponentTag: string; componentTitle: string; settingsComponentDialog: { visible: boolean; }; isEditMode: boolean; activeTab: number; layoutItems: ILayoutCanvasExpansionItemInstance[]; customCssClases: string; customCssStyle: string; } export default function useOmniaWP(webpartid: string): { state: { webComponents: { title: string; description?: string; icon?: { iconType: import("@omnia/fx-models").IconTypes; role?: string; }; featureDependencyIds?: { toString: () => string; }[]; requiresLicense?: { toString: () => string; }[]; requiredBackendRuntime?: import("@omnia/fx-models").OmniaBackendRuntimes[]; requiredClientRuntime?: import("@omnia/fx-models").OmniaClientRuntimes[]; }[]; displaySelectComponents: boolean; displaySettingsComponentForm: boolean; selectedComponentTag: string; selectedSettingsComponentTag: string; componentTitle: string; settingsComponentDialog: { visible: boolean; }; isEditMode: boolean; activeTab: number; layoutItems: { slots: { header: () => JSX.Element; content: () => JSX.Element | JSX.Element[]; }; definitionId: { toString: () => string; }; }[]; customCssClases: string; customCssStyle: string; }; populateComponentTitle: (componentManifestId: GuidValue, elementTag?: string) => void; subscribeSpfxWebPartSettingTopic: (callback: (msg: SpfxWebPartSettingMsg) => void) => void; subcribeMessage: (msg: SpfxWebPartSettingMsg, settings: OmniaWPContainerSettingsModel) => void; saveComponentSettings: (value: any, settings: OmniaWPContainerSettingsModel) => Promise; onDisplayModeChanged: (mode: any) => void; updateAdvanceCss: (settings: OmniaWPContainerSettingsModel) => void; renderDisplayComponent: (manifestid?: GuidValue) => VueTsxSupport.JSX.Element; renderSettingsComponent: (settings: OmniaWPContainerSettingsModel) => VueTsxSupport.JSX.Element; init: (settings: OmniaWPContainerSettingsModel) => void; };