import { PlatformaV3, PlatformaV1, PlatformaV2, BlockCodeKnownFeatureFlags, UiServices as AllUiServices, BlockOutputsBase, BlockModelInfo } from '@platforma-sdk/model'; import { App as VueApp, Component, Reactive } from 'vue'; import { BaseAppV1 } from './internal/createAppV1'; import { BaseAppV2 } from './internal/createAppV2'; import { BaseAppV3 } from './internal/createAppV3'; import { AppSettings, ExtendSettings } from './types'; export declare const pluginDataKey: unique symbol; export declare function useSdkPlugin(): SdkPlugin; export declare function useFeatureFlags(): BlockCodeKnownFeatureFlags; export declare function defineApp = ExtendSettings>(platforma: PlatformaV1 & { blockModelInfo: BlockModelInfo; }, extendApp: (app: BaseAppV1) => Extend, settings?: AppSettings): SdkPluginV1; export declare function defineApp = ExtendSettings>(platforma: PlatformaV2 & { blockModelInfo: BlockModelInfo; }, extendApp: (app: BaseAppV2) => Extend, settings?: AppSettings): SdkPluginV2; export declare function defineAppV3 = Record, UiServices extends Partial = Partial, Extend extends ExtendSettings = ExtendSettings>(platforma: PlatformaV3 & { blockModelInfo: BlockModelInfo; }, extendApp: (app: BaseAppV3) => Extend, settings?: AppSettings): SdkPluginV3; export type AppV1 = ExtendSettings> = BaseAppV1 & Reactive> & { getRoute(href: Href): Component | undefined; }; export type AppV2 = ExtendSettings> = BaseAppV2 & Reactive> & { getRoute(href: Href): Component | undefined; }; export type AppV3, Href extends `/${string}` = `/${string}`, Plugins extends Record = Record, Local extends ExtendSettings = ExtendSettings, UiServices extends Partial = Partial> = BaseAppV3 & Reactive> & { getRoute(href: Href): Component | undefined; }; export type SdkPluginV1 = ExtendSettings> = { apiVersion: 1; featureFlags: BlockCodeKnownFeatureFlags; loaded: boolean; error: unknown; useApp(): AppV1; install(app: VueApp): void; }; export type SdkPluginV2 = ExtendSettings> = { apiVersion: 2; featureFlags: BlockCodeKnownFeatureFlags; loaded: boolean; error: unknown; useApp(): AppV2; install(app: VueApp): void; }; export type SdkPluginV3 = Record, Local extends ExtendSettings = ExtendSettings, UiServices extends Partial = Partial> = { apiVersion: 3; featureFlags: BlockCodeKnownFeatureFlags; loaded: boolean; error: unknown; useApp(): AppV3; install(app: VueApp): void; }; export type SdkPlugin = SdkPluginV1 | SdkPluginV2 | SdkPluginV3; //# sourceMappingURL=defineApp.d.ts.map