import { ListResult } from '../list_result';
import { RequestWrapper } from "../request_wrapper";
import { Model } from "./model";
import { filter } from "../filter";
export declare class Gift extends Model {
    id: string;
    status: string;
    scheduled_at?: number;
    auto_claim: boolean;
    no_expiry: boolean;
    claim_expiry_date?: number;
    resource_version?: number;
    updated_at?: number;
    gifter: Gifter;
    gift_receiver: GiftReceiver;
    gift_timelines?: Array<GiftTimeline>;
    static create(params?: _gift.create_params): RequestWrapper;
    static create_for_items(params?: _gift.create_for_items_params): RequestWrapper;
    static retrieve(gift_id: string, params?: any): RequestWrapper;
    static list(params?: _gift.gift_list_params): RequestWrapper<ListResult>;
    static claim(gift_id: string, params?: any): RequestWrapper;
    static cancel(gift_id: string, params?: any): RequestWrapper;
    static update_gift(gift_id: string, params?: _gift.update_gift_params): RequestWrapper;
}
export declare class Gifter extends Model {
    customer_id: string;
    invoice_id?: string;
    signature?: string;
    note?: string;
}
export declare class GiftReceiver extends Model {
    customer_id: string;
    subscription_id: string;
    first_name?: string;
    last_name?: string;
    email?: string;
}
export declare class GiftTimeline extends Model {
    status: string;
    occurred_at?: number;
}
export declare namespace _gift {
    interface create_params {
        scheduled_at?: number;
        auto_claim?: boolean;
        no_expiry?: boolean;
        claim_expiry_date?: number;
        coupon_ids?: Array<string>;
        gifter?: gifter_create_params;
        gift_receiver?: gift_receiver_create_params;
        payment_intent?: payment_intent_create_params;
        shipping_address?: shipping_address_create_params;
        subscription?: subscription_create_params;
        addons?: Array<addons_create_params>;
    }
    interface create_for_items_params {
        scheduled_at?: number;
        auto_claim?: boolean;
        no_expiry?: boolean;
        claim_expiry_date?: number;
        coupon_ids?: Array<string>;
        gifter?: gifter_create_for_items_params;
        gift_receiver?: gift_receiver_create_for_items_params;
        payment_intent?: payment_intent_create_for_items_params;
        shipping_address?: shipping_address_create_for_items_params;
        subscription_items?: Array<subscription_items_create_for_items_params>;
    }
    interface gift_list_params {
        limit?: number;
        offset?: string;
        gift_receiver?: gift_receiver_gift_list_params;
        gifter?: gifter_gift_list_params;
        status?: filter._enum;
    }
    interface update_gift_params {
        scheduled_at: number;
        comment?: string;
    }
    interface gifter_create_params {
        customer_id: string;
    }
    interface gifter_create_params {
        signature: string;
    }
    interface gifter_create_params {
        note?: string;
    }
    interface gifter_create_params {
        payment_src_id?: string;
    }
    interface gift_receiver_create_params {
        customer_id: string;
    }
    interface gift_receiver_create_params {
        first_name: string;
    }
    interface gift_receiver_create_params {
        last_name: string;
    }
    interface gift_receiver_create_params {
        email: string;
    }
    interface payment_intent_create_params {
        id?: string;
    }
    interface payment_intent_create_params {
        gateway_account_id?: string;
    }
    interface payment_intent_create_params {
        gw_token?: string;
    }
    interface payment_intent_create_params {
        payment_method_type?: string;
    }
    interface payment_intent_create_params {
        reference_id?: string;
    }
    interface payment_intent_create_params {
        /**
         * @deprecated Please refer API docs to use other attributes
         */
        gw_payment_method_id?: string;
    }
    interface payment_intent_create_params {
        additional_information?: any;
    }
    interface shipping_address_create_params {
        first_name?: string;
    }
    interface shipping_address_create_params {
        last_name?: string;
    }
    interface shipping_address_create_params {
        email?: string;
    }
    interface shipping_address_create_params {
        company?: string;
    }
    interface shipping_address_create_params {
        phone?: string;
    }
    interface shipping_address_create_params {
        line1?: string;
    }
    interface shipping_address_create_params {
        line2?: string;
    }
    interface shipping_address_create_params {
        line3?: string;
    }
    interface shipping_address_create_params {
        city?: string;
    }
    interface shipping_address_create_params {
        state_code?: string;
    }
    interface shipping_address_create_params {
        state?: string;
    }
    interface shipping_address_create_params {
        zip?: string;
    }
    interface shipping_address_create_params {
        country?: string;
    }
    interface shipping_address_create_params {
        validation_status?: string;
    }
    interface subscription_create_params {
        plan_id: string;
    }
    interface subscription_create_params {
        plan_quantity?: number;
    }
    interface subscription_create_params {
        plan_quantity_in_decimal?: string;
    }
    interface addons_create_params {
        id?: string;
    }
    interface addons_create_params {
        quantity?: number;
    }
    interface addons_create_params {
        quantity_in_decimal?: string;
    }
    interface gifter_create_for_items_params {
        customer_id: string;
    }
    interface gifter_create_for_items_params {
        signature: string;
    }
    interface gifter_create_for_items_params {
        note?: string;
    }
    interface gifter_create_for_items_params {
        payment_src_id?: string;
    }
    interface gift_receiver_create_for_items_params {
        customer_id: string;
    }
    interface gift_receiver_create_for_items_params {
        first_name: string;
    }
    interface gift_receiver_create_for_items_params {
        last_name: string;
    }
    interface gift_receiver_create_for_items_params {
        email: string;
    }
    interface payment_intent_create_for_items_params {
        id?: string;
    }
    interface payment_intent_create_for_items_params {
        gateway_account_id?: string;
    }
    interface payment_intent_create_for_items_params {
        gw_token?: string;
    }
    interface payment_intent_create_for_items_params {
        payment_method_type?: string;
    }
    interface payment_intent_create_for_items_params {
        reference_id?: string;
    }
    interface payment_intent_create_for_items_params {
        /**
         * @deprecated Please refer API docs to use other attributes
         */
        gw_payment_method_id?: string;
    }
    interface payment_intent_create_for_items_params {
        additional_information?: any;
    }
    interface shipping_address_create_for_items_params {
        first_name?: string;
    }
    interface shipping_address_create_for_items_params {
        last_name?: string;
    }
    interface shipping_address_create_for_items_params {
        email?: string;
    }
    interface shipping_address_create_for_items_params {
        company?: string;
    }
    interface shipping_address_create_for_items_params {
        phone?: string;
    }
    interface shipping_address_create_for_items_params {
        line1?: string;
    }
    interface shipping_address_create_for_items_params {
        line2?: string;
    }
    interface shipping_address_create_for_items_params {
        line3?: string;
    }
    interface shipping_address_create_for_items_params {
        city?: string;
    }
    interface shipping_address_create_for_items_params {
        state_code?: string;
    }
    interface shipping_address_create_for_items_params {
        state?: string;
    }
    interface shipping_address_create_for_items_params {
        zip?: string;
    }
    interface shipping_address_create_for_items_params {
        country?: string;
    }
    interface shipping_address_create_for_items_params {
        validation_status?: string;
    }
    interface subscription_items_create_for_items_params {
        item_price_id?: string;
    }
    interface subscription_items_create_for_items_params {
        quantity?: number;
    }
    interface subscription_items_create_for_items_params {
        quantity_in_decimal?: string;
    }
    interface gift_receiver_gift_list_params {
        email?: filter._string;
    }
    interface gift_receiver_gift_list_params {
        customer_id?: filter._string;
    }
    interface gifter_gift_list_params {
        customer_id?: filter._string;
    }
}
