import { BeforeRequestHook } from 'got';
import { Logger } from '../c8/lib/C8Logger';
/**
 * These are the configuration parameters for the Camunda 8 SDK.
 * You can pass these into a constructor to create a new client, and any explicit values you pass in will override the environment variables.
 * Otherwise, any of these values can be set in the environment variables and will be used by the SDK.
 *
 * Note that although some values are passed to the constructor in the subkey `zeebeGrpcSettings`, they need no special treatment as environment variables.
 * Simply use the same name as the key in the `zeebeGrpcSettings` object for the environment variable, and the SDK will pick it up.
 */
export declare const CamundaSDKConfiguration: {
    zeebeGrpcSettings: {
        ZEEBE_INSECURE_CONNECTION: boolean | undefined;
        ZEEBE_CLIENT_LOG_LEVEL: "NONE" | "DEBUG" | "INFO" | "ERROR";
        ZEEBE_GRPC_CLIENT_EAGER_CONNECT: boolean;
        ZEEBE_GRPC_CLIENT_RETRY: boolean;
        ZEEBE_GRPC_CLIENT_MAX_RETRIES: number;
        ZEEBE_GRPC_CLIENT_MAX_RETRY_TIMEOUT_SECONDS: number;
        ZEEBE_GRPC_CLIENT_INITIAL_CONNECTION_TOLERANCE_MS: number | undefined;
        ZEEBE_GRPC_CLIENT_CONNECTION_TOLERANCE_MS: number;
        GRPC_KEEPALIVE_TIME_MS: number;
        GRPC_KEEPALIVE_TIMEOUT_MS: number;
        GRPC_INITIAL_RECONNECT_BACKOFF_MS: string | 1000;
        GRPC_MAX_RECONNECT_BACKOFF_MS: string | 10000;
        GRPC_MIN_RECONNECT_BACKOFF_MS: string | 5000;
        GRPC_HTTP2_MIN_TIME_BETWEEN_PINGS_MS: number;
        GRPC_HTTP2_MIN_PING_INTERVAL_WITHOUT_DATA_MS: number;
        GRPC_KEEPALIVE_PERMIT_WITHOUT_CALLS: number;
        GRPC_HTTP2_MAX_PINGS_WITHOUT_DATA: number;
        ZEEBE_CLIENT_LOG_TYPE: "JSON" | "SIMPLE";
        ZEEBE_GRPC_WORKER_LONGPOLL_SECONDS: number;
        ZEEBE_GRPC_WORKER_POLL_INTERVAL_MS: number;
    };
    CAMUNDA_JOB_WORKER_MAX_BACKOFF_MS: number;
    CAMUNDA_CUSTOM_USER_AGENT_STRING: string | undefined;
    CAMUNDA_OAUTH_DISABLED: boolean;
    CAMUNDA_OAUTH_TOKEN_REFRESH_THRESHOLD_MS: number;
    CAMUNDA_LOG_LEVEL: "error" | "http" | "none" | "info" | "warn" | "verbose" | "debug" | "silly";
    ZEEBE_GRPC_ADDRESS: string | undefined;
    ZEEBE_REST_ADDRESS: string;
    ZEEBE_ADDRESS: string | undefined;
    ZEEBE_CLIENT_ID: string | undefined;
    ZEEBE_CLIENT_SECRET: string | undefined;
    CAMUNDA_OAUTH_URL: string | undefined;
    CAMUNDA_OAUTH_TOKEN: string | undefined;
    CAMUNDA_TOKEN_SCOPE: string | undefined;
    CAMUNDA_TENANT_ID: string;
    CAMUNDA_ZEEBE_OAUTH_AUDIENCE: string | undefined;
    ZEEBE_TOKEN_AUDIENCE: string;
    CAMUNDA_OPERATE_OAUTH_AUDIENCE: string;
    CAMUNDA_TASKLIST_OAUTH_AUDIENCE: string;
    CAMUNDA_MODELER_OAUTH_AUDIENCE: string | undefined;
    CAMUNDA_OPTIMIZE_OAUTH_AUDIENCE: string;
    CAMUNDA_CONSOLE_OAUTH_AUDIENCE: string;
    CAMUNDA_TOKEN_CACHE_DIR: string | undefined;
    CAMUNDA_TOKEN_DISK_CACHE_DISABLE: boolean;
    CAMUNDA_SECURE_CONNECTION: boolean | undefined;
    CAMUNDA_COOKIE_AUTH_URL: string;
    CAMUNDA_COOKIE_AUTH_USERNAME: string;
    CAMUNDA_COOKIE_AUTH_PASSWORD: string;
    CAMUNDA_CUSTOM_ROOT_CERT_PATH: string | undefined;
    CAMUNDA_CUSTOM_ROOT_CERT_STRING: string | undefined;
    CAMUNDA_CUSTOM_CERT_CHAIN_PATH: string | undefined;
    CAMUNDA_CUSTOM_PRIVATE_KEY_PATH: string | undefined;
    CAMUNDA_OPERATE_BASE_URL: string;
    CAMUNDA_OPTIMIZE_BASE_URL: string | undefined;
    CAMUNDA_TASKLIST_BASE_URL: string;
    CAMUNDA_MODELER_BASE_URL: string;
    CAMUNDA_CONSOLE_BASE_URL: string | undefined;
    CAMUNDA_CONSOLE_CLIENT_ID: string | undefined;
    CAMUNDA_CONSOLE_CLIENT_SECRET: string | undefined;
    CAMUNDA_BASIC_AUTH_USERNAME: string | undefined;
    CAMUNDA_BASIC_AUTH_PASSWORD: string | undefined;
    CAMUNDA_AUTH_STRATEGY: "BASIC" | "OAUTH" | "BEARER" | "COOKIE" | "NONE";
    CAMUNDA_SUPPORT_LOG_ENABLED: boolean;
    CAMUNDA_SUPPORT_LOG_FILE_PATH: string | undefined;
    CAMUNDA_OAUTH_FAIL_ON_ERROR: boolean;
};
export type CamundaPlatform8Configuration = typeof CamundaSDKConfiguration;
type ConfigWithMiddleware = CamundaPlatform8Configuration & {
    middleware?: BeforeRequestHook[];
};
export declare class CamundaEnvironmentConfigurator {
    static readonly mergeConfigWithEnvironment: (config: DeepPartial<ConfigWithMiddleware>) => ConfigWithMiddleware;
}
export type DeepPartial<T> = {
    [K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K];
};
export type Camunda8ClientConfiguration = DeepPartial<CamundaPlatform8Configuration> & {
    /** An optional logger. If no logger is supplied, [winston](https://github.com/winstonjs/winston) will be used. */
    logger?: Logger;
};
/**
 * This section creates a type-safe runtime dictionary of environment variables. This is used for Require Configuration.
 */
/**
 * All the environment variables.
 */
export declare const CamundaEnvironmentVariables: {
    ZEEBE_INSECURE_CONNECTION: boolean | undefined;
    ZEEBE_CLIENT_LOG_LEVEL: "NONE" | "DEBUG" | "INFO" | "ERROR";
    ZEEBE_GRPC_CLIENT_EAGER_CONNECT: boolean;
    ZEEBE_GRPC_CLIENT_RETRY: boolean;
    ZEEBE_GRPC_CLIENT_MAX_RETRIES: number;
    ZEEBE_GRPC_CLIENT_MAX_RETRY_TIMEOUT_SECONDS: number;
    ZEEBE_GRPC_CLIENT_INITIAL_CONNECTION_TOLERANCE_MS: number | undefined;
    ZEEBE_GRPC_CLIENT_CONNECTION_TOLERANCE_MS: number;
    GRPC_KEEPALIVE_TIME_MS: number;
    GRPC_KEEPALIVE_TIMEOUT_MS: number;
    GRPC_INITIAL_RECONNECT_BACKOFF_MS: string | 1000;
    GRPC_MAX_RECONNECT_BACKOFF_MS: string | 10000;
    GRPC_MIN_RECONNECT_BACKOFF_MS: string | 5000;
    GRPC_HTTP2_MIN_TIME_BETWEEN_PINGS_MS: number;
    GRPC_HTTP2_MIN_PING_INTERVAL_WITHOUT_DATA_MS: number;
    GRPC_KEEPALIVE_PERMIT_WITHOUT_CALLS: number;
    GRPC_HTTP2_MAX_PINGS_WITHOUT_DATA: number;
    ZEEBE_CLIENT_LOG_TYPE: "JSON" | "SIMPLE";
    ZEEBE_GRPC_WORKER_LONGPOLL_SECONDS: number;
    ZEEBE_GRPC_WORKER_POLL_INTERVAL_MS: number;
    CAMUNDA_JOB_WORKER_MAX_BACKOFF_MS: number;
    CAMUNDA_CUSTOM_USER_AGENT_STRING: string | undefined;
    CAMUNDA_OAUTH_DISABLED: boolean;
    CAMUNDA_OAUTH_TOKEN_REFRESH_THRESHOLD_MS: number;
    CAMUNDA_LOG_LEVEL: "error" | "http" | "none" | "info" | "warn" | "verbose" | "debug" | "silly";
    ZEEBE_GRPC_ADDRESS: string | undefined;
    ZEEBE_REST_ADDRESS: string;
    ZEEBE_ADDRESS: string | undefined;
    ZEEBE_CLIENT_ID: string | undefined;
    ZEEBE_CLIENT_SECRET: string | undefined;
    CAMUNDA_OAUTH_URL: string | undefined;
    CAMUNDA_OAUTH_TOKEN: string | undefined;
    CAMUNDA_TOKEN_SCOPE: string | undefined;
    CAMUNDA_TENANT_ID: string;
    CAMUNDA_ZEEBE_OAUTH_AUDIENCE: string | undefined;
    ZEEBE_TOKEN_AUDIENCE: string;
    CAMUNDA_OPERATE_OAUTH_AUDIENCE: string;
    CAMUNDA_TASKLIST_OAUTH_AUDIENCE: string;
    CAMUNDA_MODELER_OAUTH_AUDIENCE: string | undefined;
    CAMUNDA_OPTIMIZE_OAUTH_AUDIENCE: string;
    CAMUNDA_CONSOLE_OAUTH_AUDIENCE: string;
    CAMUNDA_TOKEN_CACHE_DIR: string | undefined;
    CAMUNDA_TOKEN_DISK_CACHE_DISABLE: boolean;
    CAMUNDA_SECURE_CONNECTION: boolean | undefined;
    CAMUNDA_COOKIE_AUTH_URL: string;
    CAMUNDA_COOKIE_AUTH_USERNAME: string;
    CAMUNDA_COOKIE_AUTH_PASSWORD: string;
    CAMUNDA_CUSTOM_ROOT_CERT_PATH: string | undefined;
    CAMUNDA_CUSTOM_ROOT_CERT_STRING: string | undefined;
    CAMUNDA_CUSTOM_CERT_CHAIN_PATH: string | undefined;
    CAMUNDA_CUSTOM_PRIVATE_KEY_PATH: string | undefined;
    CAMUNDA_OPERATE_BASE_URL: string;
    CAMUNDA_OPTIMIZE_BASE_URL: string | undefined;
    CAMUNDA_TASKLIST_BASE_URL: string;
    CAMUNDA_MODELER_BASE_URL: string;
    CAMUNDA_CONSOLE_BASE_URL: string | undefined;
    CAMUNDA_CONSOLE_CLIENT_ID: string | undefined;
    CAMUNDA_CONSOLE_CLIENT_SECRET: string | undefined;
    CAMUNDA_BASIC_AUTH_USERNAME: string | undefined;
    CAMUNDA_BASIC_AUTH_PASSWORD: string | undefined;
    CAMUNDA_AUTH_STRATEGY: "BASIC" | "OAUTH" | "BEARER" | "COOKIE" | "NONE";
    CAMUNDA_SUPPORT_LOG_ENABLED: boolean;
    CAMUNDA_SUPPORT_LOG_FILE_PATH: string | undefined;
    CAMUNDA_OAUTH_FAIL_ON_ERROR: boolean;
};
export declare const CamundaEnvironmentVariableDictionary: ("CAMUNDA_JOB_WORKER_MAX_BACKOFF_MS" | "CAMUNDA_CUSTOM_USER_AGENT_STRING" | "CAMUNDA_OAUTH_DISABLED" | "CAMUNDA_OAUTH_TOKEN_REFRESH_THRESHOLD_MS" | "CAMUNDA_LOG_LEVEL" | "ZEEBE_GRPC_ADDRESS" | "ZEEBE_REST_ADDRESS" | "ZEEBE_ADDRESS" | "ZEEBE_CLIENT_ID" | "ZEEBE_CLIENT_SECRET" | "CAMUNDA_OAUTH_URL" | "CAMUNDA_OAUTH_TOKEN" | "CAMUNDA_TOKEN_SCOPE" | "CAMUNDA_TENANT_ID" | "CAMUNDA_ZEEBE_OAUTH_AUDIENCE" | "ZEEBE_TOKEN_AUDIENCE" | "CAMUNDA_OPERATE_OAUTH_AUDIENCE" | "CAMUNDA_TASKLIST_OAUTH_AUDIENCE" | "CAMUNDA_MODELER_OAUTH_AUDIENCE" | "CAMUNDA_OPTIMIZE_OAUTH_AUDIENCE" | "CAMUNDA_CONSOLE_OAUTH_AUDIENCE" | "CAMUNDA_TOKEN_CACHE_DIR" | "CAMUNDA_TOKEN_DISK_CACHE_DISABLE" | "CAMUNDA_SECURE_CONNECTION" | "CAMUNDA_COOKIE_AUTH_URL" | "CAMUNDA_COOKIE_AUTH_USERNAME" | "CAMUNDA_COOKIE_AUTH_PASSWORD" | "CAMUNDA_CUSTOM_ROOT_CERT_PATH" | "CAMUNDA_CUSTOM_ROOT_CERT_STRING" | "CAMUNDA_CUSTOM_CERT_CHAIN_PATH" | "CAMUNDA_CUSTOM_PRIVATE_KEY_PATH" | "CAMUNDA_OPERATE_BASE_URL" | "CAMUNDA_OPTIMIZE_BASE_URL" | "CAMUNDA_TASKLIST_BASE_URL" | "CAMUNDA_MODELER_BASE_URL" | "CAMUNDA_CONSOLE_BASE_URL" | "CAMUNDA_CONSOLE_CLIENT_ID" | "CAMUNDA_CONSOLE_CLIENT_SECRET" | "CAMUNDA_BASIC_AUTH_USERNAME" | "CAMUNDA_BASIC_AUTH_PASSWORD" | "CAMUNDA_AUTH_STRATEGY" | "CAMUNDA_SUPPORT_LOG_ENABLED" | "CAMUNDA_SUPPORT_LOG_FILE_PATH" | "CAMUNDA_OAUTH_FAIL_ON_ERROR" | "ZEEBE_INSECURE_CONNECTION" | "ZEEBE_CLIENT_LOG_LEVEL" | "ZEEBE_GRPC_CLIENT_EAGER_CONNECT" | "ZEEBE_GRPC_CLIENT_RETRY" | "ZEEBE_GRPC_CLIENT_MAX_RETRIES" | "ZEEBE_GRPC_CLIENT_MAX_RETRY_TIMEOUT_SECONDS" | "ZEEBE_GRPC_CLIENT_INITIAL_CONNECTION_TOLERANCE_MS" | "ZEEBE_GRPC_CLIENT_CONNECTION_TOLERANCE_MS" | "GRPC_KEEPALIVE_TIME_MS" | "GRPC_KEEPALIVE_TIMEOUT_MS" | "GRPC_INITIAL_RECONNECT_BACKOFF_MS" | "GRPC_MAX_RECONNECT_BACKOFF_MS" | "GRPC_MIN_RECONNECT_BACKOFF_MS" | "GRPC_HTTP2_MIN_TIME_BETWEEN_PINGS_MS" | "GRPC_HTTP2_MIN_PING_INTERVAL_WITHOUT_DATA_MS" | "GRPC_KEEPALIVE_PERMIT_WITHOUT_CALLS" | "GRPC_HTTP2_MAX_PINGS_WITHOUT_DATA" | "ZEEBE_CLIENT_LOG_TYPE" | "ZEEBE_GRPC_WORKER_LONGPOLL_SECONDS" | "ZEEBE_GRPC_WORKER_POLL_INTERVAL_MS")[];
export {};
