/**
 * Authentication Service
 * Handles widget session creation and token management
 */
import { WidgetSessionResponse } from '../types/api';
export declare class AuthService {
    private baseUrl;
    private sessionToken?;
    private sessionExpiresAt?;
    constructor(baseUrl?: string);
    /**
     * Create a new widget session
     */
    createSession(widgetKey: string, origin: string): Promise<Partial<WidgetSessionResponse>>;
    /**
     * Get current session token
     */
    getToken(): string | undefined;
    /**
     * Check if current token is valid and not expired
     */
    isTokenValid(): boolean;
    /**
     * Clear current session
     */
    clearSession(): void;
    /**
     * Get authorization header for API requests
     */
    getAuthHeader(): {
        Authorization: string;
    } | {};
    /**
     * Refresh session if needed
     */
    refreshSessionIfNeeded(widgetKey: string, origin: string): Promise<boolean>;
}
