import * as ExcelJS from 'exceljs';
export declare const CLEAR_SENTINEL: unique symbol;
export type CellPriceValue = number | null | typeof CLEAR_SENTINEL;
type TransportPricingRow = {
    id: string;
    mode?: string;
    category?: string | null;
    transport_service?: {
        from_city?: string;
        to_city?: string;
        short_code?: string;
    } | null;
    vehicle_type?: {
        name?: string;
    } | null;
    currency?: {
        code?: string;
    } | null;
    default_price?: number | null;
    season_1_price?: number | null;
    season_2_price?: number | null;
    season_3_price?: number | null;
    season_4_price?: number | null;
    floor_default_price?: number | null;
    floor_season_1_price?: number | null;
    floor_season_2_price?: number | null;
    floor_season_3_price?: number | null;
    floor_season_4_price?: number | null;
};
type ActivityPricingRow = {
    id: string;
    age_group?: string | null;
    activity?: {
        name?: string;
        destination?: {
            name?: string;
        } | null;
    } | null;
    ticket?: {
        name?: string;
    } | null;
    currency?: {
        code?: string;
    } | null;
    default_price?: number | null;
    season_1_price?: number | null;
    season_2_price?: number | null;
    season_3_price?: number | null;
    season_4_price?: number | null;
    floor_default_price?: number | null;
    floor_season_1_price?: number | null;
    floor_season_2_price?: number | null;
    floor_season_3_price?: number | null;
    floor_season_4_price?: number | null;
};
export declare function buildTransportSample(rows: TransportPricingRow[], withFloor?: boolean): Promise<Buffer>;
export declare function parseTransportImport(buffer: Buffer, acceptFloor?: boolean): Promise<{
    rows: TransportParsedRow[];
    floorEditCount: number;
}>;
export declare function buildActivitySample(rows: ActivityPricingRow[], withFloor?: boolean): Promise<Buffer>;
export declare function parseActivityImport(buffer: Buffer, acceptFloor?: boolean): Promise<{
    rows: ActivityParsedRow[];
    floorEditCount: number;
}>;
export type TransportParsedRow = {
    id: string;
} & ReturnType<typeof readPriceBlock>;
export type ActivityParsedRow = {
    id: string;
} & ReturnType<typeof readPriceBlock>;
declare function readPriceBlock(row: ExcelJS.Row, sellDefaultCol: number, floorDefaultCol: number, includeFloor: boolean): Record<string, CellPriceValue>;
export {};
