import { AxiosInstance, AxiosRequestConfig, AxiosResponse, RawAxiosRequestHeaders } from 'axios'; import { MaybeGetter } from '../types'; import { MaybeArray } from '../types/utilities'; export type AxiosInstanceSetupHook = (instance: AxiosInstance) => void; export type PrefectConfig = { baseUrl: string; token?: string; }; type ConfigFunction = (config: T) => R; export type ApiBaseUrl = string | ConfigFunction; export type ApiHeaders = RawAxiosRequestHeaders | ConfigFunction; export declare const getPrefectBaseUrl: ApiBaseUrl; export declare const getPrefectUIHeaders: RawAxiosRequestHeaders; export declare const getAuthorizationHeaders: ApiHeaders; export declare class Api { protected readonly apiConfig: MaybeGetter; protected apiHeaders: MaybeArray; protected apiBaseUrl: ApiBaseUrl; protected routePrefix: string | undefined; protected instanceSetupHook: AxiosInstanceSetupHook | null; constructor(apiConfig: MaybeGetter, instanceSetupHook?: AxiosInstanceSetupHook | null); protected getConfig(): T; protected composeBaseUrl(): string; protected composeHeaders(): RawAxiosRequestHeaders; protected combinePath(route: string | undefined): string; protected instance(): AxiosInstance; protected get>(route?: string, config?: AxiosRequestConfig): Promise; protected delete>(route?: string, config?: AxiosRequestConfig): Promise; protected head>(route?: string, config?: AxiosRequestConfig): Promise; protected options>(route?: string, config?: AxiosRequestConfig): Promise; protected post>(route?: string, data?: any, config?: AxiosRequestConfig): Promise; protected put>(route?: string, data?: any, config?: AxiosRequestConfig): Promise; protected patch>(route?: string, data?: any, config?: AxiosRequestConfig): Promise; } export {};