import type { ReadonlySignal } from '@nonoun/native-core'; export interface DataBinding { readonly id: string; readonly source: string; readonly method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'; readonly headers?: Readonly>; readonly body?: unknown; readonly transform?: string; readonly cacheKey?: string; readonly cacheTtl?: number; readonly retries?: number; readonly retryDelay?: number; } export interface CacheEntry { readonly data: T; readonly timestamp: number; readonly etag?: string; } export declare class DataStore { #private; readonly loading: ReadonlySignal; readonly error: ReadonlySignal; query(binding: DataBinding): ReadonlySignal; mutate(binding: DataBinding, optimistic?: { readonly key: string; readonly value: T; }): Promise; invalidate(key: string): void; invalidateAll(): void; getCache(key: string): CacheEntry | null; abort(bindingId: string): void; abortAll(): void; destroy(): void; } export declare class HttpError extends Error { readonly status: number; readonly statusText: string; readonly url: string; constructor(status: number, statusText: string, url: string); } export declare function createDataStore(): DataStore; export declare function createBinding(source: string, overrides?: Partial>): DataBinding; //# sourceMappingURL=data-runtime.d.ts.map