import type { FetchOptions } from 'ofetch';
import type { Strapi5ResponseSingle, Strapi5RequestParams, Strapi5ResponseMany } from '../types/v5.js';
interface StrapiV5Client<T> {
    find<F = T>(contentType: string, params?: Strapi5RequestParams<F>, fetchOptions?: FetchOptions): Promise<Strapi5ResponseMany<F>>;
    findOne<F = T>(contentType: string, documentId: string, params?: Omit<Strapi5RequestParams<F>, 'filters'>, fetchOptions?: FetchOptions): Promise<Strapi5ResponseSingle<F>>;
    create<F = T>(contentType: string, data: Partial<F>, params?: Omit<Strapi5RequestParams<F>, 'filters'>): Promise<Strapi5ResponseSingle<F>>;
    update<F = T>(contentType: string, documentId: string | Partial<F>, data?: Partial<F>, params?: Omit<Strapi5RequestParams<F>, 'filters'>): Promise<Strapi5ResponseSingle<F>>;
    delete(contentType: string, documentId?: string, params?: Pick<Strapi5RequestParams<never>, 'locale'>): Promise<void>;
}
export declare const useStrapi: <T>() => StrapiV5Client<T>;
export {};
