import { ListResult } from '../list_result';
import { RequestWrapper } from "../request_wrapper";
import { Model } from "./model";
import { filter } from "../filter";
export declare class PromotionalCredit extends Model {
    id: string;
    customer_id: string;
    type: string;
    amount_in_decimal?: string;
    amount: number;
    currency_code: string;
    description: string;
    credit_type: string;
    reference?: string;
    closing_balance: number;
    done_by?: string;
    created_at: number;
    static add(params?: _promotional_credit.add_params): RequestWrapper;
    static deduct(params?: _promotional_credit.deduct_params): RequestWrapper;
    static set(params?: _promotional_credit.set_params): RequestWrapper;
    static list(params?: _promotional_credit.promotional_credit_list_params): RequestWrapper<ListResult>;
    static retrieve(promotional_credit_id: string, params?: any): RequestWrapper;
}
export declare namespace _promotional_credit {
    interface add_params {
        customer_id: string;
        amount?: number;
        amount_in_decimal?: string;
        currency_code?: string;
        description: string;
        credit_type?: string;
        reference?: string;
    }
    interface deduct_params {
        customer_id: string;
        amount?: number;
        amount_in_decimal?: string;
        currency_code?: string;
        description: string;
        credit_type?: string;
        reference?: string;
    }
    interface set_params {
        customer_id: string;
        amount?: number;
        amount_in_decimal?: string;
        currency_code?: string;
        description: string;
        credit_type?: string;
        reference?: string;
    }
    interface promotional_credit_list_params {
        limit?: number;
        offset?: string;
        id?: filter._string;
        created_at?: filter._timestamp;
        type?: filter._enum;
        customer_id?: filter._string;
    }
}
