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