import type { DispatchResourceRequestContext, Luvio } from '../Root'; import type { CoercedAdapterRequestContext, Snapshot, UnfulfilledSnapshot } from '../main'; import type { IngestPath, LuvioRequestMethod } from '../network'; import type { NormalizedKeyMetadata } from '../interfaces/queryability'; import type { Store } from '../interfaces/Store'; import { type AdapterConfigMetadata } from '../adapter'; export declare function typeCheckConfig>(untrustedConfig: T, config: T, configMetadata: AdapterConfigMetadata[]): void; export declare function coerceConfig, UntrustedConfig extends Record>(uncoercedConfig: UncoercedConfiguration, configMetadata: AdapterConfigMetadata[]): UntrustedConfig; export declare function buildNetworkSnapshotCachePolicy(context: { luvio: Luvio; config: Config; cacheSnapshot?: UnfulfilledSnapshot; }, coercedAdapterRequestContext: CoercedAdapterRequestContext, buildNetworkSnapshotIdentifier: (luvio: Luvio, config: Config, dispatchOptions: DispatchResourceRequestContext, cacheSnapshot?: UnfulfilledSnapshot) => Promise>, alternativeMethod: LuvioRequestMethod | undefined, includeCacheSnapshot: boolean): Promise>; export declare function ingestShape(input: Shape, path: IngestPath, luvio: Luvio, store: Store, timestamp: number, ttlToUse: number | undefined, key: string | NormalizedKeyMetadata, normalize: (r: Shape, er: NormalizedShape, path: IngestPath, luvio: Luvio, store: Store, ts: number) => NormalizedShape, namespace: string, version: string, representationName: string, equals: (a: NormalizedShape, b: NormalizedShape) => boolean): void; export declare function createResourceParams(configMetadata: AdapterConfigMetadata[]): (config: Config) => ResourceRequestConfig;