/**
 * Authentication service for obtaining and managing Ambita API tokens.
 * Used by consumer apps and Storybook to authenticate with the API.
 */
/**
 * Login with username and password to get an access token
 */
export declare function login(username: string, password: string, options?: {
    clientId?: string;
    environment?: string;
}): Promise<string>;
/**
 * Refresh the current token using the refresh_token
 */
export declare function refreshToken(environment?: string): Promise<string>;
/**
 * Get the current access token, refreshing if necessary
 */
export declare function getAccessToken(environment?: string): Promise<string | null>;
/**
 * Validate an access token against the authentication API.
 * Returns false only when the API explicitly rejects the token (401/403) or when no token is available.
 */
export declare function validateAccessToken(token?: string, options?: {
    environment?: string;
}): Promise<boolean>;
/**
 * Check if the current token is expired
 */
export declare function isTokenExpired(): boolean;
/**
 * Check if we have a valid token
 */
export declare function isAuthenticated(): boolean;
/**
 * Clear the current token (logout)
 */
export declare function clearToken(): void;
/**
 * Create a token provider function for use with initLibraryConfig
 */
export declare function createTokenProvider(environment?: string): () => Promise<string | null>;
