import { type PropsWithChildren } from "react"; import { z } from "zod"; import { type RequestRunReturnType, type RequestType } from "./Request"; import { type Filter } from "./Request/components/RequestFiltersFieldset"; declare const APIExplorerRequestProperties: z.ZodObject<{ repository: z.ZodDefault; accessToken: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; accessToken?: string | undefined; }, { id?: string | undefined; accessToken?: string | undefined; }>>; type: z.ZodDefault>; options: z.ZodDefault, z.ZodOptional; ids: z.ZodOptional>; type: z.ZodOptional; uid: z.ZodOptional; uids: z.ZodOptional>; tag: z.ZodOptional; tags: z.ZodOptional>; }, "strip", z.ZodTypeAny, { tag?: string | undefined; type?: string | undefined; id?: string | undefined; ids?: string[] | undefined; uid?: string | undefined; uids?: string[] | undefined; tags?: string[] | undefined; }, { tag?: string | undefined; type?: string | undefined; id?: string | undefined; ids?: string[] | undefined; uid?: string | undefined; uids?: string[] | undefined; tags?: string[] | undefined; }>>>>; pagination: z.ZodDefault; pageSize: z.ZodOptional; }, "strip", z.ZodTypeAny, { pageSize?: number | undefined; page?: number | undefined; }, { pageSize?: number | undefined; page?: number | undefined; }>>; lang: z.ZodOptional; advanced: z.ZodDefault; ref: z.ZodOptional; filters: z.ZodEffects; args: z.ZodArray, "many">]>, "many">; }, "strip", z.ZodTypeAny, { type: "at" | "not" | "any" | "in" | "fulltext" | "has" | "missing" | "similar" | "geopointNear" | "numberLessThan" | "numberGreaterThan" | "numberInRange" | "dateAfter" | "dateBefore" | "dateBetween" | "dateDayOfMonth" | "dateDayOfMonthAfter" | "dateDayOfMonthBefore" | "dateDayOfWeek" | "dateDayOfWeekAfter" | "dateDayOfWeekBefore" | "dateMonth" | "dateMonthAfter" | "dateMonthBefore" | "dateYear" | "dateHour" | "dateHourAfter" | "dateHourBefore"; args: (string | number | boolean | (string | number | boolean)[])[]; }, { type: "at" | "not" | "any" | "in" | "fulltext" | "has" | "missing" | "similar" | "geopointNear" | "numberLessThan" | "numberGreaterThan" | "numberInRange" | "dateAfter" | "dateBefore" | "dateBetween" | "dateDayOfMonth" | "dateDayOfMonthAfter" | "dateDayOfMonthBefore" | "dateDayOfWeek" | "dateDayOfWeekAfter" | "dateDayOfWeekBefore" | "dateMonth" | "dateMonthAfter" | "dateMonthBefore" | "dateYear" | "dateHour" | "dateHourAfter" | "dateHourBefore"; args: (string | number | boolean | (string | number | boolean)[])[]; }>, "many">>, Filter[], { type: "at" | "not" | "any" | "in" | "fulltext" | "has" | "missing" | "similar" | "geopointNear" | "numberLessThan" | "numberGreaterThan" | "numberInRange" | "dateAfter" | "dateBefore" | "dateBetween" | "dateDayOfMonth" | "dateDayOfMonthAfter" | "dateDayOfMonthBefore" | "dateDayOfWeek" | "dateDayOfWeekAfter" | "dateDayOfWeekBefore" | "dateMonth" | "dateMonthAfter" | "dateMonthBefore" | "dateYear" | "dateHour" | "dateHourAfter" | "dateHourBefore"; args: (string | number | boolean | (string | number | boolean)[])[]; }[] | undefined>; orderings: z.ZodDefault>; }, "strip", z.ZodTypeAny, { field: string; direction?: "desc" | "asc" | undefined; }, { field: string; direction?: "desc" | "asc" | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { options: Partial>; type: "get" | "getFirst" | "getByID" | "getByIDs" | "getAllByIDs" | "getByUID" | "getByUIDs" | "getAllByUIDs" | "getSingle" | "getByType" | "getAllByType" | "getByTag" | "getAllByTag" | "getByEveryTag" | "getAllByEveryTag" | "getBySomeTags" | "getAllBySomeTags" | "getRepository" | "getTags"; repository: { id: string; accessToken?: string | undefined; }; filters: Filter[]; orderings: { field: string; direction?: "desc" | "asc" | undefined; }[]; pagination: { pageSize?: number | undefined; page?: number | undefined; }; advanced: boolean; ref?: string | undefined; lang?: string | undefined; }, { options?: Partial> | undefined; type?: "get" | "getFirst" | "getByID" | "getByIDs" | "getAllByIDs" | "getByUID" | "getByUIDs" | "getAllByUIDs" | "getSingle" | "getByType" | "getAllByType" | "getByTag" | "getAllByTag" | "getByEveryTag" | "getAllByEveryTag" | "getBySomeTags" | "getAllBySomeTags" | "getRepository" | "getTags" | undefined; ref?: string | undefined; repository?: { id?: string | undefined; accessToken?: string | undefined; } | undefined; filters?: { type: "at" | "not" | "any" | "in" | "fulltext" | "has" | "missing" | "similar" | "geopointNear" | "numberLessThan" | "numberGreaterThan" | "numberInRange" | "dateAfter" | "dateBefore" | "dateBetween" | "dateDayOfMonth" | "dateDayOfMonthAfter" | "dateDayOfMonthBefore" | "dateDayOfWeek" | "dateDayOfWeekAfter" | "dateDayOfWeekBefore" | "dateMonth" | "dateMonthAfter" | "dateMonthBefore" | "dateYear" | "dateHour" | "dateHourAfter" | "dateHourBefore"; args: (string | number | boolean | (string | number | boolean)[])[]; }[] | undefined; orderings?: { field: string; direction?: "desc" | "asc" | undefined; }[] | undefined; lang?: string | undefined; pagination?: { pageSize?: number | undefined; page?: number | undefined; } | undefined; advanced?: boolean | undefined; }>; export type APIExplorerRequestProperties = z.infer; type APIExplorerRequestMethods = { setRepositoryID: (id: string) => void; setRepositoryAccessToken: (token?: string) => void; setRequestType: (type: RequestType) => void; setRequestOptions: (type: Type, options: APIExplorerRequestProperties["options"][Type]) => void; setPagination: (pagination: { page?: number; pageSize?: number; }) => void; setLang: (lang?: string) => void; setAdvanced: (advanced: boolean) => void; setRef: (ref?: string) => void; setFilters: (filters: APIExplorerRequestProperties["filters"]) => void; setOrderings: (orderings: APIExplorerRequestProperties["orderings"]) => void; run: () => Promise; }; type ResponseBase = { duration: number; }; type ResponseIdle = { status: "idle"; }; type ResponsePending = { status: "pending"; }; export type ResponseSuccess = ResponseBase & { status: "success"; url?: string; ref?: string; data: RequestRunReturnType; }; export type ResponseError = ResponseBase & { status: "error"; url?: string; error: Error; }; type APIExplorerResponse = ResponseIdle | ResponsePending | ResponseSuccess | ResponseError; type APIExplorerConfig = { /** * Repository information to use the API Explorer with. * When not provided, the API Explorer will allow entering a repository ID. */ repository?: { id: string; documentAPIEndpoint?: string; }; }; type APIExplorerContextType = { request: APIExplorerRequestProperties & APIExplorerRequestMethods; response: APIExplorerResponse; config: APIExplorerConfig; }; export type APIExplorerEvents = [ event: "API Explorer Request", args: { type: RequestType; repositoryID: string; } ] | [ event: "API Explorer Request Error", args: { type: RequestType; repositoryID: string; error?: string; url?: string; } ]; export type APIExplorerProviderProps = { track?: (...params: APIExplorerEvents) => void; } & APIExplorerConfig & PropsWithChildren; export declare const APIExplorerProvider: (props: APIExplorerProviderProps) => JSX.Element; export declare function useAPIExplorer(): APIExplorerContextType; export declare const apiExplorerShareableUrlSearchParam = "request"; export {};