import { CourierThemeManager, CourierThemeSubscription, SystemThemeMode } from '@trycourier/courier-ui-core'; import { CourierToastTheme } from './courier-toast-theme'; /** * @public */ export interface CourierToastThemeSubscription extends CourierThemeSubscription { manager: CourierToastThemeManager; } /** * Toast-specific theme manager that extends the abstract CourierThemeManager. * Provides toast theme management with light/dark mode support. * * @public */ export declare class CourierToastThemeManager extends CourierThemeManager { protected readonly THEME_CHANGE_EVENT: string; constructor(initialTheme: CourierToastTheme); /** * Get the default light theme for toast */ protected getDefaultLightTheme(): CourierToastTheme; /** * Get the default dark theme for toast */ protected getDefaultDarkTheme(): CourierToastTheme; /** * Merge the toast theme with defaults */ protected mergeTheme(mode: SystemThemeMode, theme: CourierToastTheme): CourierToastTheme; /** * Subscribe to toast theme changes * @param callback - Function to run when the theme changes * @returns Object with unsubscribe method to stop listening */ subscribe(callback: (theme: CourierToastTheme) => void): CourierToastThemeSubscription; }