/** * react-native-wallpapers * Type definitions */ export declare enum WallpaperTarget { HOME = "home", LOCK = "lock", BOTH = "both" } export declare enum WallpaperType { STATIC = "static", LIVE = "live", VIDEO = "video", PARALLAX = "parallax" } export declare enum WallpaperFit { FILL = "fill", FIT = "fit", STRETCH = "stretch", CENTER = "center", TILE = "tile" } export declare enum ColorFilter { NONE = "none", WARM = "warm", COOL = "cool", DARK = "dark", LIGHT = "light", GRAYSCALE = "grayscale", SEPIA = "sepia", VINTAGE = "vintage" } export declare enum WallpaperError { PERMISSION_DENIED = "PERMISSION_DENIED", FILE_NOT_FOUND = "FILE_NOT_FOUND", UNSUPPORTED_FORMAT = "UNSUPPORTED_FORMAT", UNSUPPORTED_TYPE = "UNSUPPORTED_TYPE", SET_FAILED = "SET_FAILED", DOWNLOAD_FAILED = "DOWNLOAD_FAILED", INVALID_URL = "INVALID_URL", UNKNOWN = "UNKNOWN" } export interface ColorFilterOptions { type: ColorFilter; /** Intensity of filter: 0.0 (none) – 1.0 (full). Default: 0.5 */ intensity?: number; } export interface CropOptions { /** X offset from left (0.0 – 1.0) */ x?: number; /** Y offset from top (0.0 – 1.0) */ y?: number; /** Width as fraction of original (0.0 – 1.0) */ width?: number; /** Height as fraction of original (0.0 – 1.0) */ height?: number; } export interface ParallaxOptions { /** Intensity of 3D tilt effect: 0.0 – 1.0. Default: 0.5 */ intensity?: number; /** Enable gyroscope-based movement. Default: true */ useGyroscope?: boolean; /** Max offset in dp. Default: 30 */ maxOffset?: number; } export interface VideoWallpaperOptions { /** Loop the video. Default: true */ loop?: boolean; /** Mute audio. Default: true */ muted?: boolean; /** Playback speed: 0.5 – 2.0. Default: 1.0 */ speed?: number; /** Start time in seconds. Default: 0 */ startTime?: number; /** End time in seconds. Default: end of video */ endTime?: number; } export interface LiveWallpaperOptions { /** GIF playback speed multiplier: 0.5 – 3.0. Default: 1.0 */ speed?: number; /** Loop count. 0 = infinite. Default: 0 */ loopCount?: number; } export interface SetWallpaperOptions { /** Where to set the wallpaper. Default: WallpaperTarget.HOME */ target?: WallpaperTarget; /** Type of wallpaper. Default: WallpaperType.STATIC */ type?: WallpaperType; /** How the image fits the screen. Default: WallpaperFit.FILL */ fit?: WallpaperFit; /** Apply a color filter */ colorFilter?: ColorFilterOptions; /** Crop the image before setting */ crop?: CropOptions; /** Options for parallax wallpapers */ parallax?: ParallaxOptions; /** Options for video wallpapers */ video?: VideoWallpaperOptions; /** Options for live/GIF wallpapers */ live?: LiveWallpaperOptions; /** * Blur radius (0 = no blur, 25 = max). Default: 0 * Useful for creating frosted glass style lock screens */ blurRadius?: number; /** * Brightness adjustment: -1.0 (darkest) – 1.0 (brightest). Default: 0 */ brightness?: number; /** * Opacity of wallpaper: 0.0 – 1.0. Default: 1.0 */ opacity?: number; } export interface DownloadOptions { /** Custom save directory. Default: Pictures/Wallpapers */ saveDirectory?: string; /** Custom filename without extension */ filename?: string; /** Show download progress notification. Default: true */ showNotification?: boolean; /** Notification title. Default: "Downloading wallpaper..." */ notificationTitle?: string; } export interface AutoChangeOptions { /** Interval in minutes. Default: 1440 (24 hours) */ intervalMinutes?: number; /** Array of image URLs or local paths to rotate through */ sources: string[]; /** Where to apply. Default: WallpaperTarget.HOME */ target?: WallpaperTarget; /** Apply in random order. Default: false */ shuffle?: boolean; /** Wallpaper type. Default: WallpaperType.STATIC */ type?: WallpaperType; /** Apply same options as SetWallpaperOptions */ wallpaperOptions?: Omit; } export interface WallpaperResult { success: boolean; target?: WallpaperTarget; type?: WallpaperType; /** Path where wallpaper was saved locally (if applicable) */ localPath?: string; error?: WallpaperErrorResult; } export interface WallpaperErrorResult { code: WallpaperError; message: string; nativeError?: string; } export interface DownloadResult { success: boolean; filePath?: string; fileName?: string; fileSize?: number; error?: WallpaperErrorResult; } export interface CurrentWallpaperInfo { /** Whether a wallpaper is currently set by this app */ isSetByApp: boolean; target: WallpaperTarget; type?: WallpaperType; localPath?: string; setAt?: number; } export interface AutoChangeStatus { isActive: boolean; intervalMinutes?: number; currentIndex?: number; totalSources?: number; nextChangeAt?: number; target?: WallpaperTarget; } export interface DeviceWallpaperCapabilities { supportsLiveWallpaper: boolean; supportsVideoWallpaper: boolean; supportsParallax: boolean; supportsLockScreen: boolean; maxResolutionWidth: number; maxResolutionHeight: number; screenWidth: number; screenHeight: number; } export interface WallpaperChangeEvent { target: WallpaperTarget; type: WallpaperType; source: string; timestamp: number; } export type WallpaperChangeListener = (event: WallpaperChangeEvent) => void; //# sourceMappingURL=types.d.ts.map