import type { LicenseData, LicensePayloadV2, LicenseRequest, LicenseRequestResponse, LicenseStatus, VerifyCodeRequest, VerifyCodeResponse } from "./types";
/**
 * Fetches the current license status from the Parhelia backend
 */
export declare function getLicenseStatus(): Promise<LicenseStatus>;
/**
 * Requests a license from the license server (proxied through Sitecore)
 */
export declare function requestLicense(request: LicenseRequest): Promise<LicenseRequestResponse>;
/**
 * Verifies an activation code with the license server (proxied through Sitecore)
 */
export declare function verifyActivationCode(request: VerifyCodeRequest): Promise<VerifyCodeResponse>;
/**
 * JSON body for Sitecore License Data: v1 flat {@link LicenseData}, or v2 envelope `{ license, signature }`.
 */
export declare function serializeLicenseForStore(license: LicenseData | LicensePayloadV2, v2OuterSignature?: string): string;
/**
 * Stores a license in the Parhelia backend (v1 flat or v2 envelope).
 */
export declare function storeLicense(license: LicenseData | LicensePayloadV2, v2OuterSignature?: string): Promise<{
    success: boolean;
    message?: string;
}>;
/**
 * Clears the license cache in the Parhelia backend
 */
export declare function clearLicenseCache(): Promise<void>;
/**
 * Checks if a specific feature is available
 */
export declare function hasFeature(features: string[] | undefined, feature: string): boolean;
/**
 * Format retry-after seconds into human-readable format (e.g., "46m 42s", "1h 15m", "45s")
 */
export declare function formatRetryTime(seconds: number): string;
/**
 * Format retry-after seconds into simple countdown format:
 * - If >= 60 seconds: show minutes only (e.g., "22m")
 * - If < 60 seconds: show seconds only (e.g., "45s")
 */
export declare function formatRetryTimeSimple(seconds: number): string;
