import { Mutable } from '@milaboratories/helpers'; import { NavigationState, BlockOutputsBase, BlockState, PlatformaV1, PlatformaExtended } from '@platforma-sdk/model'; import { StateModelOptions, UnwrapOutputs, OptionalResult, OutputValues, OutputErrors, AppSettings } from '../types'; /** * Creates an application instance with reactive state management, outputs, and methods for state updates and navigation. * * @template Args - The type of arguments used in the application. * @template Outputs - The type of block outputs extending `BlockOutputsBase`. * @template UiState - The type of the UI state. * @template Href - The type of navigation href, defaulting to a string starting with `/`. * * @param state - Initial state of the application, including args, outputs, UI state, and navigation state. * @param platforma - A platform interface for interacting with block states. * @param settings - Application settings, such as debug flags. * * @returns A reactive application object with methods, getters, and state. */ export declare function createAppV1(state: BlockState, platforma: PlatformaExtended>, settings: AppSettings): { model: { args: import('vue').UnwrapRef; ui: import('vue').UnwrapRef; outputs: import('vue').UnwrapRef>; outputErrors: import('vue').UnwrapRef>; }; readonly valid: boolean; readonly isChanged: boolean; readonly error: Error | undefined; readonly errorString: string | undefined; readonly save: () => void; readonly revert: () => void; readonly setError: (cause: unknown) => void; createArgsModel: (options?: StateModelOptions) => import('../types').Model; createUiModel: (options: StateModelOptions | undefined, defaultUiState: () => UiState) => import('../types').Model; useOutputs: (...keys: K[]) => OptionalResult>; unwrapOutputs: (...keys: K[]) => UnwrapOutputs; updateArgs: (cb: (args: Args) => void) => Promise; updateUiState: (cb: (args: UiState) => UiState) => Promise; updateNavigationState: (cb: (args: Mutable>) => void) => Promise; navigateTo: (href: Href) => Promise; snapshot: { args: import('vue').UnwrapRef>; outputs: import('vue').UnwrapRef>>; ui: import('vue').UnwrapRef>; navigationState: { readonly href: import('vue').UnwrapRef; }; }; queryParams: import('../types').ParseQuery; href: Href; hasErrors: boolean; }; export type BaseAppV1 = ReturnType>; //# sourceMappingURL=createAppV1.d.ts.map