import type { Connection } from '../models/Connection.js';
export declare enum UserType {
    Local = "localhost",
    SelfHosted = "self-hosted",
    Cloud = "cloud"
}
export declare enum NodeEnv {
    Dev = "development",
    Staging = "staging",
    Prod = "production"
}
export declare function getPort(): number;
export declare function getServerPort(): number;
export declare function getPersistAPIUrl(): string;
export declare function getJobsUrl(): string;
export declare function getServerBaseUrl(): string;
export declare function getRedisUrl(): string | undefined;
export declare function getOrchestratorUrl(): string;
export declare function isValidHttpUrl(str: string): boolean;
export declare function dirname(thisFile?: string): string;
export declare function parseTokenExpirationDate(expirationDate: any): Date;
export declare function parseTableauTokenExpirationDate(timeStr: string): Date | undefined;
export declare function isTokenExpired(expireDate: Date, bufferInSeconds: number): boolean;
/**
 * Get Oauth callback url base url.
 * @desc for ease of use with APIs that require a secure redirect
 * redirectmeto is automatically used. This is intentioned
 * for local development
 * @see https://github.com/kodie/redirectmeto
 */
export declare function getLocalOAuthCallbackUrlBaseUrl(): string;
export declare function getApiUrl(): string;
export declare function getProvidersUrl(): string;
export declare function getGlobalOAuthCallbackUrl(): string;
export declare function getGlobalWebhookReceiveUrl(): string;
/**
 * Get any custom path for the websockets server.
 * Defaults to '/' for backwards compatibility
 *
 * @returns the path for the websockets server
 */
export declare function getWebsocketsPath(): string;
/**
 * A helper function to interpolate a string.
 * interpolateString('Hello ${name} of ${age} years", {name: 'Tester', age: 234}) -> returns 'Hello Tester of age 234 years'
 *
 * @remarks
 * Copied from https://stackoverflow.com/a/1408373/250880
 */
export declare function interpolateString(str: string, replacers: Record<string, any>): string;
export declare function interpolateStringFromObject(str: string, replacers: Record<string, any>): string;
export declare function interpolateObjectValues(obj: Record<string, string | undefined>, connectionConfig: Record<string, any>): Record<string, string | undefined>;
export declare function interpolateObject(obj: Record<string, any>, dynamicValues: Record<string, any>): Record<string, any>;
export declare function stripCredential(obj: any): any;
export declare function extractValueByPath(obj: Record<string, any>, path: string): any;
export declare function connectionCopyWithParsedConnectionConfig(connection: Pick<Connection, 'connection_config'>): Pick<Connection, "connection_config">;
export declare function mapProxyBaseUrlInterpolationFormat(baseUrl: string | undefined): string | undefined;
export declare function interpolateIfNeeded(str: string, replacers: Record<string, any>): string;
export declare function getConnectionConfig(queryParams: any): Record<string, string>;
export declare function encodeParameters(params: Record<string, any>): Record<string, string>;
