/**
 * Dev Auth Service
 *
 * Mock authentication service for development testing.
 * Allows instant tier switching without hitting real API.
 *
 * @since v1.33.1
 */
import type { Tier } from '../../core/types/auth.js';
import type { DevAuthState, MockSession, TierChangeEvent } from './dev-auth-types.js';
/**
 * Event listener type for tier changes
 */
type TierChangeListener = (event: TierChangeEvent) => void;
/**
 * Dev authentication service for testing
 */
export declare class DevAuthService {
    private state;
    private tierChangeListeners;
    constructor(initialTier?: Tier);
    /**
     * Get current tier
     */
    getTier(): Tier;
    /**
     * Set tier instantly (no API call)
     */
    setTier(tier: Tier): void;
    /**
     * Subscribe to tier changes
     */
    onTierChange(listener: TierChangeListener): () => void;
    /**
     * Check if authenticated
     */
    isAuthenticated(): boolean;
    /**
     * Get current session
     */
    getSession(): MockSession | null;
    /**
     * Get current user
     */
    getUser(): MockSession['user'] | null;
    /**
     * Mock login with specified tier
     */
    mockLogin(tier?: Tier): Promise<MockSession>;
    /**
     * Mock logout
     */
    mockLogout(): Promise<void>;
    /**
     * Quick login as specific tier (shorthand)
     */
    loginAs(tier: Tier): Promise<MockSession>;
    /**
     * Enable real API mode for integration testing
     */
    enableRealApi(apiUrl: string): void;
    /**
     * Disable real API mode
     */
    disableRealApi(): void;
    /**
     * Check if using real API
     */
    isUsingRealApi(): boolean;
    /**
     * Get real API URL
     */
    getRealApiUrl(): string | undefined;
    /**
     * Get full auth state
     */
    getState(): DevAuthState;
    /**
     * Reset to initial state
     */
    reset(): void;
}
/**
 * Get the singleton dev auth service
 */
export declare function getDevAuthService(): DevAuthService;
/**
 * Reset the singleton
 */
export declare function resetDevAuthService(): void;
export {};
//# sourceMappingURL=dev-auth-service.d.ts.map