import { Order } from '../../../models';
import { CheckboxField, DatetimeField, FloatField, IntegerField, MultiLineTextField, MultipleSelectsField, SingleLineTextField, SingleSelectField, UrlField } from '../AirtableFields';
import { ShopifyObjectAirtableFields } from './ShopifyObjectAirtableFields';
export declare const OrderCurrencyFields: readonly ["cartDiscountAmount", "currentCartDiscountAmount", "currentSubtotalPrice", "currentTotalDiscounts", "currentTotalDuties", "currentTotalPrice", "currentTotalTax", "netPayment", "originalTotalDuties", "originalTotalPrice", "refundDiscrepancy", "subtotalPrice", "totalCapturable", "totalDiscounts", "totalOutstanding", "totalPrice", "totalReceived", "totalRefunded", "totalRefundedShipping", "totalShippingPrice", "totalTax", "totalTipReceived"];
export declare const OrderDatetimeFieldNames: readonly ["cancelledAt", "closedAt", "createdAt", "processedAt", "updatedAt"];
export declare type OrderDatetimeFieldName = typeof OrderDatetimeFieldNames[number];
export declare const OrderSingleSelectFieldNames: readonly ["cancelReason", "currencyCode", "displayFinancialStatus", "displayFulfillmentStatus", "presentmentCurrencyCode", "riskLevel"];
export declare type OrderSingleSelectFieldNames = typeof OrderSingleSelectFieldNames[number];
export declare const OrderCheckboxFieldNames: readonly ["canMarkAsPaid", "canNotifyCustomer", "capturable", "closed", "confirmed", "customerAcceptsMarketing", "edited", "fulfillable", "fullyPaid", "hasTimelineComment", "merchantEditable", "refundable", "requiresShipping", "restockable", "taxesIncluded", "test", "unpaid"];
export declare const OrderSingleLineTextFieldNames: readonly ["id", "legacyResourceId", "name", "note", "phone", "email", "customerLocale", "discountCode", "clientIp", "physicalLocationId", "publicationId", "billingAddressId", "billingAddressPhone", "billingAddressAddress1", "billingAddressAddress2", "billingAddressCity", "billingAddressCompany", "billingAddressCountry", "billingAddressCountryCodeV2", "billingAddressFirstName", "billingAddressLastName", "billingAddressProvince", "billingAddressProvinceCode", "billingAddressZip", "displayAddressId", "displayAddressPhone", "displayAddressAddress1", "displayAddressAddress2", "displayAddressCity", "displayAddressCompany", "displayAddressCountry", "displayAddressCountryCodeV2", "displayAddressFirstName", "displayAddressLastName", "displayAddressProvince", "displayAddressProvinceCode", "displayAddressZip", "shippingAddressId", "shippingAddressPhone", "shippingAddressAddress1", "shippingAddressAddress2", "shippingAddressCity", "shippingAddressCompany", "shippingAddressCountry", "shippingAddressCountryCodeV2", "shippingAddressFirstName", "shippingAddressLastName", "shippingAddressProvince", "shippingAddressProvinceCode", "shippingAddressZip"];
export declare const OrderJsonFieldNames: readonly ["lineItems_json", "currentTaxLines_json", "customAttributes_json", "customer_json", "customerJourneySummary_json", "disputes_json", "fulfillments_json", "paymentCollectionDetails_json", "risks_json", "shippingLine_json", "taxLines_json", "transactions_json"];
export declare type OrderJsonFieldNames = typeof OrderJsonFieldNames[number];
export declare const OrderIntegerFieldNames: readonly ["currentSubtotalLineItemsQuantity", "subtotalLineItemsQuantity"];
export declare type OrderIntegerFieldNames = typeof OrderIntegerFieldNames[number];
export declare type OrderSingleLineTextFieldNames = typeof OrderSingleLineTextFieldNames[number];
export declare type OrderCheckboxFieldNames = typeof OrderCheckboxFieldNames[number];
export declare type OrderCurrencyFields = typeof OrderCurrencyFields[number];
export declare const OrderMultipleSelectFieldNames: readonly ["merchantEditableErrors", "paymentGatewayNames", "tags"];
export declare type OrderMultipleSelectFieldNames = typeof OrderMultipleSelectFieldNames[number];
export declare const OrderFloatFieldNames: readonly ["currentTotalWeight", "totalWeight", "billingAddressLatitude", "billingAddressLongitude", "displayAddressLatitude", "displayAddressLongitude", "shippingAddressLatitude", "shippingAddressLongitude"];
export declare type OrderFloatFieldNames = typeof OrderFloatFieldNames[number];
export declare const OrderUrlFieldNames: readonly [];
export declare type OrderUrlFieldNames = typeof OrderUrlFieldNames[number];
export interface OrderAirtableFields extends ShopifyObjectAirtableFields<Order> {
    type: Order['type'];
    fields: {
        [K in OrderCurrencyFields]: FloatField;
    } & {
        [K in OrderDatetimeFieldName]: DatetimeField;
    } & {
        [K in OrderSingleSelectFieldNames]: SingleSelectField;
    } & {
        [K in OrderCheckboxFieldNames]: CheckboxField;
    } & {
        [K in OrderIntegerFieldNames]: IntegerField;
    } & {
        [K in OrderSingleLineTextFieldNames]: SingleLineTextField;
    } & {
        [K in OrderJsonFieldNames]: MultiLineTextField;
    } & {
        [K in OrderMultipleSelectFieldNames]: MultipleSelectsField;
    } & {
        [K in OrderFloatFieldNames]: FloatField;
    } & {
        [K in OrderUrlFieldNames]: UrlField;
    };
}
