import { GitProviderValues } from "../../model/workspaces/SDKWorkspaceIntegrationGetGitProviders";
type DataBridgeRequestHookResult = {
    skipDefaultAuth?: boolean;
};
export type FetchFunction = typeof fetch;
export type DataBridgeRequestHook = (request: any) => void | DataBridgeRequestHookResult | Promise<void | DataBridgeRequestHookResult>;
export type DebugResponseObserver = (info: {
    requestUrl: string;
    response?: any;
    executionTime: number;
    error?: any;
}) => void;
export type DebugRequestObserver = (info: {
    requestUrl: string;
    requestMethod: string;
    asData?: boolean;
    isStreamed?: boolean;
}) => void;
export type DataBridgeConfiguration = {
    apiUrl: string;
    aiApiUrl: string;
    apiVersion: string;
    accessToken: string | null;
    target: string | null;
    customFetchLib: any | null;
    customProxyLib: any | null;
    requestHook: DataBridgeRequestHook | null;
    debugRequestObserver?: DebugRequestObserver | null;
    debugResponseObserver?: DebugResponseObserver | null;
    jobId?: string | null;
    isPreview?: boolean;
};
export declare class DataBridge {
    authToken: string | null;
    apiUrl: string;
    aiApiUrl: string;
    apiVersion: string;
    target: string | null;
    customFetchLib: any | null;
    customProxyLib: any | null;
    isPreview: boolean;
    jobId: string | null;
    requestHook: DataBridgeRequestHook | null;
    debugRequestObserver: DebugRequestObserver | null;
    debugResponseObserver: DebugResponseObserver | null;
    constructor(conf: DataBridgeConfiguration);
    delete(endpoint: string, payload?: any | null): Promise<any>;
    get<T = any>(endpoint: string): Promise<T>;
    getStreamed(endpoint: string): Promise<ReadableStreamDefaultReader<Uint8Array>>;
    getAsData(endpoint: string): Promise<any>;
    put<T = any>(endpoint: string, payload: any | null): Promise<T>;
    post(endpoint: string, payload: any | null): Promise<any>;
    postStreamed(endpoint: string, payload: any | null): Promise<ReadableStreamDefaultReader<Uint8Array>>;
    upload(endpoint: string, formData: FormData, method?: "PUT" | "POST"): Promise<any>;
    private request;
    private streamedRequest;
    private handleResponse;
    private handleStreamedResponse;
    private buildRequestConfig;
    private getProxyAgent;
    getFetchInvoker(): any;
    getAIEndpoint(fragment: string | null): string;
    getApiEndpoint(fragment: string | null): string;
    getBaseEndpoint(fragment: string | null): string;
    getPublicEndpoint(fragment: string): string;
    getAclEndpoint(resource?: string): string;
    getMCPStreamEndpoint(fragment?: string): string;
    getUserEndpoint(userId: string, fragment: string | null): string;
    getUserWorkspaceEndpoint(userId: string, wsId: string, fragment: string | null): string;
    getWorkspaceEndpoint(wsId: string, fragment: string | null): string;
    getWorkspaceIntegrationCredentialEndpoint(wsId: string, integrationId: string, credentialId: string): string;
    getWorkspaceIntegrationEndpoint(wsId: string, integrationId: string): string;
    getWorkspaceIntegrationGitProvidersEndpoint(wsId: string, integrationId: string, operation: GitProviderValues): string;
    getDesignSystemEndpoint(dsId: string, fragment: string | null): string;
    getVersionEndpoint(dsId: string, dsVersionId: string, fragment: string | null): string;
    getVersionCreationJobEndpoint(dsId: string, jobId: string): string;
    getVersionCreationJobsEndpoint(dsId: string): string;
}
export {};
