import type { Method } from 'axios'; import type { Client } from './client.js'; import type { SeamHttpRequestOptions } from './options.js'; interface SeamHttpRequestParent { readonly client: Client; readonly defaults: Required; } interface SeamHttpRequestConfig { readonly pathname: string; readonly method: Method; readonly body?: unknown; readonly params?: undefined | Record; readonly responseKey: TResponseKey; readonly options?: Pick; } export declare class SeamHttpRequest implements Promise { #private; readonly [Symbol.toStringTag]: string; constructor(parent: SeamHttpRequestParent, config: SeamHttpRequestConfig); get responseKey(): TResponseKey; get url(): URL; get pathname(): string; get method(): Method; get params(): undefined | Record; get body(): unknown; execute(): Promise; fetchResponse(): Promise; then(onfulfilled?: ((value: TResponseKey extends keyof TResponse ? TResponse[TResponseKey] : undefined) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: unknown) => TResult2 | PromiseLike) | null | undefined): Promise; catch(onrejected?: ((reason: unknown) => TResult | PromiseLike) | null | undefined): Promise<(TResponseKey extends keyof TResponse ? TResponse[TResponseKey] : undefined) | TResult>; finally(onfinally?: (() => void) | null | undefined): Promise; } export {};