import * as types from './types.js';
import { CoreResponse } from './response.js';
import { CoreRequest as AbstractCoreRequest } from '../core_base/request.js';
/**
 * Bun implementation of Core Request class using native fetch with unix socket support
 */
export declare class CoreRequest extends AbstractCoreRequest<types.IBunRequestOptions, CoreResponse> {
    private timeoutId;
    private abortController;
    private requestDataFunc;
    constructor(url: string, options?: types.IBunRequestOptions, requestDataFunc?: ((req: any) => void) | null);
    /**
     * Build the full URL with query parameters
     */
    private buildUrl;
    /**
     * Convert our options to fetch RequestInit with Bun-specific extensions
     */
    private buildFetchOptions;
    /**
     * Fire the request and return a CoreResponse
     */
    fire(): Promise<CoreResponse>;
    /**
     * Fire the request and return the raw Response
     */
    fireCore(): Promise<Response>;
    /**
     * Clear the timeout and abort controller
     */
    private clearTimeout;
    /**
     * Static factory method to create and fire a request
     */
    static create(url: string, options?: types.IBunRequestOptions): Promise<CoreResponse>;
}
/**
 * Convenience exports for backward compatibility
 */
export declare const isUnixSocket: typeof AbstractCoreRequest.isUnixSocket;
export declare const parseUnixSocketUrl: typeof AbstractCoreRequest.parseUnixSocketUrl;
