import { Firestore } from 'firebase/firestore';
import type { Collection, Product, ShippingOption } from '../types.js';
export interface FirebaseProductConfig {
    db: Firestore;
    products_collection: string;
    collections_collection: string;
    shipping_options_collection: string;
    promo_codes_collection: string;
}
export declare function fetchProductFirebase(config: FirebaseProductConfig, slug: string): Promise<Product | null>;
export declare function fetchProductsFirebase(config: FirebaseProductConfig, collectionId?: string, sort?: 'created-descending' | 'created-ascending' | 'price-descending' | 'price-ascending' | 'title-descending' | 'title-ascending', lastFetchedItemId?: string, itemsPerPage?: number): Promise<Product[] | null>;
export declare function fetchCollectionsFirebase(config: FirebaseProductConfig): Promise<Collection[] | null>;
export declare function fetchShippingOptionsFirebase(config: FirebaseProductConfig): Promise<ShippingOption[] | null>;
