import { Optional } from '@hazae41/option'; import { Core } from '../core/core.js'; import { FetcherlessQuerySettings, FetcherfulQuerySettings, KeyedQuerySettings } from '../types/settings.js'; import { Fetched } from '../result/fetched.js'; import { NormalizerMore } from '../types/normalizer.js'; import { SimpleSkeletonQuery, SimpleFetcherlessQuery, SimpleFetcherfulQuery } from '../react/hooks/queries/single.js'; import { SimpleFetcherlessQueryInstance, SimpleFetcherfulQueryInstance } from './instance.js'; declare function createQuerySchema(settings: FetcherlessQuerySettings): SimpleFetcherlessQuerySchema; declare function createQuerySchema(settings: FetcherfulQuerySettings): SimpleFetcherfulQuerySchema; declare function createQuerySchema(settings: KeyedQuerySettings): SimpleQuerySchema; type SimpleQuerySchema = SimpleFetcherlessQuerySchema | SimpleFetcherfulQuerySchema; declare namespace SimpleQuerySchema { type Infer = undefined | SimpleFetcherlessQuerySchema.Infer | SimpleFetcherfulQuerySchema.Infer; type Queried = SimpleSkeletonQuerySchema.Queried | SimpleFetcherlessQuerySchema.Queried | SimpleFetcherfulQuerySchema.Queried; } declare namespace SimpleSkeletonQuerySchema { type Queried = T extends undefined ? SimpleSkeletonQuery : never; } declare namespace SimpleFetcherlessQuerySchema { type Infer = SimpleFetcherlessQuerySchema, D, F>; type Queried = T extends SimpleFetcherlessQuerySchema ? SimpleFetcherlessQuery : never; type K = T extends SimpleFetcherlessQuerySchema ? K : never; type D = T extends SimpleFetcherlessQuerySchema ? D : never; type F = T extends SimpleFetcherlessQuerySchema ? F : never; } declare class SimpleFetcherlessQuerySchema { readonly settings: FetcherlessQuerySettings; readonly cacheKey: string; constructor(settings: FetcherlessQuerySettings); make(core: Core): Promise>; normalize(fetched: Optional>, more: NormalizerMore): Promise; } declare namespace SimpleFetcherfulQuerySchema { type Infer = SimpleFetcherfulQuerySchema, D, F>; type Queried = T extends SimpleFetcherfulQuerySchema ? SimpleFetcherfulQuery : never; type K = T extends SimpleFetcherfulQuerySchema ? K : never; type D = T extends SimpleFetcherfulQuerySchema ? D : never; type F = T extends SimpleFetcherfulQuerySchema ? F : never; } declare class SimpleFetcherfulQuerySchema { readonly settings: FetcherfulQuerySettings; readonly cacheKey: string; constructor(settings: FetcherfulQuerySettings); make(core: Core): Promise>; normalize(fetched: Optional>, more: NormalizerMore): Promise; } export { SimpleFetcherfulQuerySchema, SimpleFetcherlessQuerySchema, SimpleQuerySchema, SimpleSkeletonQuerySchema, createQuerySchema };