import { Schema } from '../schema/Schema.js'; import * as t from 'io-ts'; import { AxiosResponse } from 'axios'; import type { Context, Resource, ResourceSpec } from './Resource.js'; import { StorablePromise } from './StorablePromise.js'; export declare type ItemSchema = Schema; export declare type ItemResourceSpec = ResourceSpec; export declare type ItemResourceT = Resource; export declare type DeleteResponse = { response: unknown; }; export declare const ItemResource: >>(schema: S, itemSpec?: Spec) => ((context: Context) => Resource & import("ts-toolbelt/out/Object/Merge").MergeDeep<{ [key in keyof (Spec["methods"] & {})]: (Spec["methods"] & {})[key] extends (...args: infer A) => infer R ? (...args: A) => R : never; }, { head: (this: ItemResourceT, params?: {}) => Promise; get(this: ItemResourceT, params?: {}): StorablePromise>; put(this: ItemResourceT, instance: unknown, params?: {}): StorablePromise>; patch(this: ItemResourceT, instance: unknown, params?: {}): StorablePromise>; delete(this: ItemResourceT, instanceEncoded: unknown, params?: {}): StorablePromise; post(this: ItemResourceT, body: unknown, params?: {}): StorablePromise; }, import("ts-toolbelt/out/Misc/BuiltIn").BuiltIn, undefined> & { [key_1 in keyof (Spec["resources"] & {})]: (Spec["resources"] & {})[key_1] extends (context: Context) => infer R_1 ? R_1 : never; }) & { schema: S; }; export default ItemResource; //# sourceMappingURL=ItemResource.d.ts.map