import { type Request } from 'express';
import { type ClusterConfig } from '../../shared/yt-types';
export declare function getPrometheusAuthHeaders(cluster: string): Record<string, string>;
export interface YTApiSetup {
    id: string;
    proxy: string;
    authentication: 'none' | 'basic' | 'domain' | {
        type: 'oauth';
        token: string;
    };
    secure: boolean;
    useEncodedParameters: boolean;
    useHeavyProxy: boolean;
    timeout: number;
    disableHeavyProxies: boolean;
    requestHeaders?: Record<string, string>;
}
declare function getClusterSetup(clusterConfig: ClusterConfig): {
    setup: YTApiSetup;
    proxyBaseUrl: string;
};
export type YTApiClusterSetup = ReturnType<typeof getClusterSetup>;
export declare function getYTApiClusterSetup(cluster: string): YTApiClusterSetup & {
    isLocalCluster?: boolean;
};
export declare function getRobotYTApiSetup(cluster: string): YTApiUserSetup;
/**
 * @param cluster
 * @param req
 * @returns undefined when cluster is not found
 */
export declare function getUserYTApiSetup(cluster: string, req: Request): YTApiUserSetup;
export declare function getUserTabletErrorApiSetup(cluster: string, req: Request, testingHeaders?: boolean): {
    authHeaders: Record<string, string>;
};
export type YTApiUserSetup = ReturnType<typeof getYTApiClusterSetup> & {
    authHeaders: Record<string, string>;
};
export {};
