import type { DataSourceDiagnostic, OperationScreenDataLoaderDefinition, ScreenSpec } from '@ankhorage/contracts'; import { type RuntimeBindingOperationExecutor, type RuntimeBindingOperationResultCache, type RuntimeBindingResolutionContext } from './runtimeBindings'; export interface RuntimeScreenOperationLoaderState { readonly dependencyKey: string; readonly diagnostics: readonly DataSourceDiagnostic[]; readonly operationResults: RuntimeBindingOperationResultCache; readonly renderVersion: number; } export interface RuntimeScreenOperationLoaderExecutionResult { readonly dependencyKey: string; readonly diagnostics: readonly DataSourceDiagnostic[]; readonly operationResults: RuntimeBindingOperationResultCache; } export interface RuntimeScreenOperationLoaderLifecycle { readonly activeRequestId: number; readonly activeRequestKey: string | null; } export declare function resolveScreenOperationLoaders(screen: ScreenSpec): readonly OperationScreenDataLoaderDefinition[]; export declare function createRuntimeScreenLoaderRequestKey(args: { readonly screenId: string; readonly loaders: readonly OperationScreenDataLoaderDefinition[]; readonly bindingContext?: Record; readonly operationResults?: RuntimeBindingOperationResultCache; }): string; export declare function createRuntimeScreenOperationLoaderLifecycle(): RuntimeScreenOperationLoaderLifecycle; export declare function createIdleRuntimeScreenOperationLoaderState(args: { readonly dependencyKey: string; readonly previousState?: RuntimeScreenOperationLoaderState; }): RuntimeScreenOperationLoaderState; export declare function createPendingRuntimeScreenOperationLoaderState(args: { readonly dependencyKey: string; readonly previousState?: RuntimeScreenOperationLoaderState; }): RuntimeScreenOperationLoaderState; export declare function beginRuntimeScreenOperationLoaderRequest(args: { readonly hasLoaders: boolean; readonly lifecycle: RuntimeScreenOperationLoaderLifecycle; readonly requestKey: string; readonly state: RuntimeScreenOperationLoaderState; }): { readonly lifecycle: RuntimeScreenOperationLoaderLifecycle; readonly requestId?: number; readonly shouldExecute: boolean; readonly state: RuntimeScreenOperationLoaderState; }; export declare function completeRuntimeScreenOperationLoaderRequest(args: { readonly lifecycle: RuntimeScreenOperationLoaderLifecycle; readonly requestId: number; readonly result: RuntimeScreenOperationLoaderExecutionResult; readonly state: RuntimeScreenOperationLoaderState; }): { readonly accepted: boolean; readonly state: RuntimeScreenOperationLoaderState; }; export declare function executeRuntimeScreenOperationLoaders(args: { readonly bindingContext?: Record; readonly apis?: RuntimeBindingResolutionContext['apis']; readonly executeOperation?: RuntimeBindingOperationExecutor; readonly operationResults?: RuntimeBindingOperationResultCache; readonly screen: ScreenSpec; readonly loaders: readonly OperationScreenDataLoaderDefinition[]; }): Promise; export declare function useRuntimeScreenOperationLoaders(args: { readonly bindingContext?: Record; readonly apis?: RuntimeBindingResolutionContext['apis']; readonly executeOperation?: RuntimeBindingOperationExecutor; readonly operationResults?: RuntimeBindingOperationResultCache; readonly onDiagnostics?: (diagnostics: readonly DataSourceDiagnostic[]) => void; readonly screen: ScreenSpec; }): RuntimeScreenOperationLoaderState; //# sourceMappingURL=runtimeScreenLoaders.d.ts.map