import { PredefinedScope } from '../../auth/tokens/permission-scope';
import { BaseEndpointOverride } from '../../auth';
export interface LegacyClaims {
    /**
     * control plane endpoint
     */
    cp: string;
    /**
     * cache endpoint
     */
    c: string;
}
export interface V2Claims {
    /** type of token, 'g' for global api key */
    t: string;
}
export interface Base64DecodedV1Token {
    api_key: string;
    endpoint: string;
}
export declare function isV2ApiKey(authToken: string): boolean;
interface TokenAndEndpoints {
    controlEndpoint: string | undefined;
    cacheEndpoint: string | undefined;
    tokenEndpoint: string | undefined;
    authToken: string;
}
export interface AllEndpoints {
    controlEndpoint: string;
    cacheEndpoint: string;
    tokenEndpoint: string;
    secureConnection?: boolean;
}
export declare function populateAllEndpointsFromBaseEndpoint(endpointOverride: BaseEndpointOverride): AllEndpoints;
/**
 * @param {string} token
 * @returns TokenAndEndpoints
 */
export declare const decodeAuthToken: (token?: string) => TokenAndEndpoints;
export declare class InternalSuperUserPermissions extends PredefinedScope {
}
export {};
