import { ListResult } from '../list_result';
import { RequestWrapper } from "../request_wrapper";
import { Model } from "./model";
import { filter } from "../filter";
export declare class DifferentialPrice extends Model {
    id: string;
    item_price_id: string;
    parent_item_id: string;
    price?: number;
    price_in_decimal?: string;
    status?: string;
    resource_version?: number;
    updated_at?: number;
    created_at: number;
    modified_at: number;
    tiers?: Array<Tier>;
    currency_code: string;
    parent_periods?: Array<ParentPeriod>;
    business_entity_id?: string;
    deleted: boolean;
    static create(item_price_id: string, params?: _differential_price.create_params): RequestWrapper;
    static retrieve(differential_price_id: string, params?: _differential_price.retrieve_params): RequestWrapper;
    static update(differential_price_id: string, params?: _differential_price.update_params): RequestWrapper;
    static delete(differential_price_id: string, params?: _differential_price.delete_params): RequestWrapper;
    static list(params?: _differential_price.differential_price_list_params): RequestWrapper<ListResult>;
}
export declare class Tier extends Model {
    starting_unit: number;
    ending_unit?: number;
    price: number;
    starting_unit_in_decimal?: string;
    ending_unit_in_decimal?: string;
    price_in_decimal?: string;
    pricing_type?: string;
    package_size?: number;
}
export declare class ParentPeriod extends Model {
    period_unit: string;
    period?: any;
}
export declare namespace _differential_price {
    interface create_params {
        parent_item_id: string;
        price?: number;
        price_in_decimal?: string;
        business_entity_id?: string;
        parent_periods?: Array<parent_periods_create_params>;
        tiers?: Array<tiers_create_params>;
    }
    interface retrieve_params {
        item_price_id: string;
    }
    interface update_params {
        item_price_id: string;
        price?: number;
        price_in_decimal?: string;
        parent_periods?: Array<parent_periods_update_params>;
        tiers?: Array<tiers_update_params>;
    }
    interface delete_params {
        item_price_id: string;
    }
    interface differential_price_list_params {
        limit?: number;
        offset?: string;
        item_price_id?: filter._string;
        item_id?: filter._string;
        id?: filter._string;
        parent_item_id?: filter._string;
    }
    interface parent_periods_create_params {
        period_unit: string;
    }
    interface parent_periods_create_params {
        period?: any;
    }
    interface tiers_create_params {
        starting_unit?: number;
    }
    interface tiers_create_params {
        ending_unit?: number;
    }
    interface tiers_create_params {
        price?: number;
    }
    interface tiers_create_params {
        starting_unit_in_decimal?: string;
    }
    interface tiers_create_params {
        ending_unit_in_decimal?: string;
    }
    interface tiers_create_params {
        price_in_decimal?: string;
    }
    interface tiers_create_params {
        pricing_type?: string;
    }
    interface tiers_create_params {
        package_size?: number;
    }
    interface parent_periods_update_params {
        period_unit: string;
    }
    interface parent_periods_update_params {
        period?: any;
    }
    interface tiers_update_params {
        starting_unit?: number;
    }
    interface tiers_update_params {
        ending_unit?: number;
    }
    interface tiers_update_params {
        price?: number;
    }
    interface tiers_update_params {
        starting_unit_in_decimal?: string;
    }
    interface tiers_update_params {
        ending_unit_in_decimal?: string;
    }
    interface tiers_update_params {
        price_in_decimal?: string;
    }
    interface tiers_update_params {
        pricing_type?: string;
    }
    interface tiers_update_params {
        package_size?: number;
    }
}
