/**
 * Token encoding/decoding utilities for Syntro client keys.
 *
 * A Syntro token is a base64url-encoded JSON payload prefixed with "syn_".
 * It bundles all necessary credentials (experiments, telemetry, config) into
 * a single string that clients can use to initialize the SDK.
 */
export interface SyntroTokenPayload {
    /** Token version for future compatibility */
    v: 1;
    /** Experiments key (assumes growthbook provider by default) */
    e?: string;
    /** Experiments host URL (e.g., "http://localhost:8110" for dev) */
    eh?: string;
    /** Telemetry key (assumes posthog provider by default) */
    t?: string;
    /** Telemetry host URL (e.g., "https://us.i.posthog.com") */
    th?: string;
    /** Config fetcher type (e.g., "cdn", "experiments") */
    f?: string;
    /** Fetcher-specific options (e.g., configId for cdn fetcher) */
    o?: Record<string, string>;
    /** Debug mode - enables console logging (default: false) */
    d?: boolean;
}
/**
 * Decode a Syntro token into its payload.
 *
 * @param token - The token string (e.g., "syn_eyJ2IjoxfQ")
 * @returns The decoded payload
 * @throws Error if the token is invalid or unsupported version
 */
export declare function decodeToken(token: string): SyntroTokenPayload;
/**
 * Encode a payload into a Syntro token.
 *
 * This is primarily for admin/dashboard use, but exported for testing.
 *
 * @param payload - The payload to encode
 * @returns The encoded token string
 */
export declare function encodeToken(payload: SyntroTokenPayload): string;
