import { CreateParams, CreateResponse, DeleteParams, DeleteResponse, FieldData, GetParams, GetResponse, ListParamsRaw, LayoutMetadataResponse, Query, UpdateParams, UpdateResponse } from "../client-types.js"; export type BaseRequest = { layout: string; fetch?: RequestInit; timeout?: number; }; export type ListOptions = BaseRequest & { data: ListParamsRaw; }; export type GetOptions = BaseRequest & { data: GetParams & { recordId: number; }; }; export type FindOptions = BaseRequest & { data: ListParamsRaw & { query: Array; }; }; export type CreateOptions = BaseRequest & { data: CreateParams & { fieldData: Partial; }; }; export type UpdateOptions = BaseRequest & { data: UpdateParams & { recordId: number; fieldData: Partial; }; }; export type DeleteOptions = BaseRequest & { data: DeleteParams & { recordId: number; }; }; export type LayoutMetadataOptions = BaseRequest; export interface Adapter { list: (opts: ListOptions) => Promise; get: (opts: GetOptions) => Promise; find: (opts: FindOptions) => Promise; create: (opts: CreateOptions) => Promise; update: (opts: UpdateOptions) => Promise; delete: (opts: DeleteOptions) => Promise; layoutMetadata: (opts: LayoutMetadataOptions) => Promise; }