export interface VendorMedia { media_type: 'logo' | 'image' | 'video'; media_url: string; } export interface VendorWithMedia { id?: number; title: string; slug?: string; logo?: string | null; logo_url?: string; vendor_media?: VendorMedia[]; } /** * Get the logo URL from vendor_media array or direct logo_url field */ export declare function getVendorLogo(vendor: VendorWithMedia): string | null; /** * Get the main image URL from vendor_media array */ export declare function getVendorImage(vendor: VendorWithMedia): string | null; /** * Get the video URL from vendor_media array */ export declare function getVendorVideo(vendor: VendorWithMedia): string | null; /** * Get all media URLs of a specific type */ export declare function getVendorMediaByType(vendor: VendorWithMedia, type: 'logo' | 'image' | 'video'): string[]; /** * Get all media items grouped by type */ export declare function getVendorMediaGrouped(vendor: VendorWithMedia): { logos: string[]; images: string[]; videos: string[]; }; /** * Add new media to vendor_media array (useful for admin interfaces) */ export declare function addVendorMedia(vendor: VendorWithMedia, type: 'logo' | 'image' | 'video', url: string): VendorMedia[]; /** * Remove media from vendor_media array */ export declare function removeVendorMedia(vendor: VendorWithMedia, url: string): VendorMedia[]; /** * Check if vendor has media of a specific type */ export declare function hasVendorMedia(vendor: VendorWithMedia, type: 'logo' | 'image' | 'video'): boolean; /** * Get media count by type */ export declare function getVendorMediaCount(vendor: VendorWithMedia): { logos: number; images: number; videos: number; total: number; }; //# sourceMappingURL=vendor-media-stub.d.ts.map