import { type RemoteResourceEffect } from "../resource.js";
import { type RemoteLiveStream } from "../../live.js";
import type { EffectRemoteQueryUpdateBrand } from "./types.js";
import { Effect } from "effect";
type RemoteInput = undefined extends Input ? Input | void : Input;
type DecodePayload = (value: unknown) => Output;
type QueryAdapterMode = "standard" | "batch";
type NativeQueryFactory = ((input: RemoteInput ) => unknown) | {
readonly load: (input: RemoteInput ) => unknown;
};
type RemoteQueryEffect = EffectRemoteQueryUpdateBrand & RemoteResourceEffect & {
readonly refresh: () => Effect.Effect;
readonly set: (value: Output) => void;
readonly withOverride: (update: (current: Output) => Output) => unknown;
};
/** Adapts a generated SvelteKit query to SER's Effect-based client ABI. */
export declare function create_remote_query_adapter (native_factory: NativeQueryFactory , decode_payload: DecodePayload, _base?: string, mode?: QueryAdapterMode): EffectRemoteQueryUpdateBrand & ((input: RemoteInput ) => RemoteQueryEffect);
export declare function create_remote_query_adapter (native_factory: NativeQueryFactory , decode_payload: (value: unknown) => unknown, _base?: string, mode?: QueryAdapterMode): EffectRemoteQueryUpdateBrand & ((input: RemoteInput ) => RemoteQueryEffect);
/** Adapts a generated SvelteKit live query to SER's Effect-based client ABI. */
export declare function create_remote_live_query_adapter (native_factory: unknown, _decode_payload: (value: unknown) => unknown, _base?: string): EffectRemoteQueryUpdateBrand & ((input: RemoteInput ) => RemoteLiveStream);
export {};