import * as Schema from "effect/Schema";
export declare const GetCreditNotesPreviewInput: Schema.Struct<{
    readonly amount: Schema.optional<Schema.Number>;
    readonly credit_amount: Schema.optional<Schema.Number>;
    readonly effective_at: Schema.optional<Schema.Number>;
    readonly email_type: Schema.optional<Schema.Literals<readonly ["credit_note", "none"]>>;
    readonly expand: Schema.optional<Schema.String>;
    readonly invoice: Schema.String;
    readonly lines: Schema.optional<Schema.String>;
    readonly memo: Schema.optional<Schema.String>;
    readonly metadata: Schema.optional<Schema.String>;
    readonly out_of_band_amount: Schema.optional<Schema.Number>;
    readonly reason: Schema.optional<Schema.Literals<readonly ["duplicate", "fraudulent", "order_change", "product_unsatisfactory"]>>;
    readonly refund_amount: Schema.optional<Schema.Number>;
    readonly refunds: Schema.optional<Schema.String>;
    readonly shipping_cost: Schema.optional<Schema.String>;
}>;
export type GetCreditNotesPreviewInput = typeof GetCreditNotesPreviewInput.Type;
export declare const GetCreditNotesPreviewOutput: Schema.Struct<{
    readonly amount: Schema.Number;
    readonly amount_shipping: Schema.Number;
    readonly created: Schema.Number;
    readonly currency: Schema.String;
    readonly customer: Schema.Unknown;
    readonly customer_account: Schema.NullOr<Schema.String>;
    readonly customer_balance_transaction: Schema.Unknown;
    readonly discount_amount: Schema.Number;
    readonly discount_amounts: Schema.$Array<Schema.Struct<{
        readonly amount: Schema.Number;
        readonly discount: Schema.Unknown;
    }>>;
    readonly effective_at: Schema.NullOr<Schema.Number>;
    readonly id: Schema.String;
    readonly invoice: Schema.Unknown;
    readonly lines: Schema.Struct<{
        readonly data: Schema.$Array<Schema.Struct<{
            readonly amount: Schema.Number;
            readonly description: Schema.NullOr<Schema.String>;
            readonly discount_amount: Schema.Number;
            readonly discount_amounts: Schema.$Array<Schema.Struct<{
                readonly amount: Schema.Number;
                readonly discount: Schema.Unknown;
            }>>;
            readonly id: Schema.String;
            readonly invoice_line_item: Schema.optional<Schema.String>;
            readonly livemode: Schema.Boolean;
            readonly metadata: Schema.NullOr<Schema.$Record<Schema.String, Schema.String>>;
            readonly object: Schema.Literals<readonly ["credit_note_line_item"]>;
            readonly pretax_credit_amounts: Schema.$Array<Schema.Struct<{
                readonly amount: Schema.Number;
                readonly credit_balance_transaction: Schema.optional<Schema.Unknown>;
                readonly discount: Schema.optional<Schema.Unknown>;
                readonly type: Schema.Literals<readonly ["credit_balance_transaction", "discount"]>;
            }>>;
            readonly quantity: Schema.NullOr<Schema.Number>;
            readonly tax_rates: Schema.$Array<Schema.Struct<{
                readonly active: Schema.Boolean;
                readonly country: Schema.NullOr<Schema.String>;
                readonly created: Schema.Number;
                readonly description: Schema.NullOr<Schema.String>;
                readonly display_name: Schema.String;
                readonly effective_percentage: Schema.NullOr<Schema.Number>;
                readonly flat_amount: Schema.Unknown;
                readonly id: Schema.String;
                readonly inclusive: Schema.Boolean;
                readonly jurisdiction: Schema.NullOr<Schema.String>;
                readonly jurisdiction_level: Schema.NullOr<Schema.Literals<readonly ["city", "country", "county", "district", "multiple", "state"]>>;
                readonly livemode: Schema.Boolean;
                readonly metadata: Schema.NullOr<Schema.$Record<Schema.String, Schema.String>>;
                readonly object: Schema.Literals<readonly ["tax_rate"]>;
                readonly percentage: Schema.Number;
                readonly rate_type: Schema.NullOr<Schema.Literals<readonly ["flat_amount", "percentage"]>>;
                readonly state: Schema.NullOr<Schema.String>;
                readonly tax_type: Schema.NullOr<Schema.Literals<readonly ["amusement_tax", "communications_tax", "gst", "hst", "igst", "jct", "lease_tax", "pst", "qst", "retail_delivery_fee", "rst", "sales_tax", "service_tax", "vat"]>>;
            }>>;
            readonly taxes: Schema.NullOr<Schema.$Array<Schema.Struct<{
                readonly amount: Schema.Number;
                readonly tax_behavior: Schema.Literals<readonly ["exclusive", "inclusive"]>;
                readonly tax_rate_details: Schema.Unknown;
                readonly taxability_reason: Schema.Literals<readonly ["customer_exempt", "not_available", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated"]>;
                readonly taxable_amount: Schema.NullOr<Schema.Number>;
                readonly type: Schema.Literals<readonly ["tax_rate_details"]>;
            }>>>;
            readonly type: Schema.Literals<readonly ["custom_line_item", "invoice_line_item"]>;
            readonly unit_amount: Schema.NullOr<Schema.Number>;
            readonly unit_amount_decimal: Schema.NullOr<Schema.String>;
        }>>;
        readonly has_more: Schema.Boolean;
        readonly object: Schema.Literals<readonly ["list"]>;
        readonly url: Schema.String;
    }>;
    readonly livemode: Schema.Boolean;
    readonly memo: Schema.NullOr<Schema.String>;
    readonly metadata: Schema.NullOr<Schema.$Record<Schema.String, Schema.String>>;
    readonly number: Schema.String;
    readonly object: Schema.Literals<readonly ["credit_note"]>;
    readonly out_of_band_amount: Schema.NullOr<Schema.Number>;
    readonly pdf: Schema.String;
    readonly post_payment_amount: Schema.Number;
    readonly pre_payment_amount: Schema.Number;
    readonly pretax_credit_amounts: Schema.$Array<Schema.Struct<{
        readonly amount: Schema.Number;
        readonly credit_balance_transaction: Schema.optional<Schema.Unknown>;
        readonly discount: Schema.optional<Schema.Unknown>;
        readonly type: Schema.Literals<readonly ["credit_balance_transaction", "discount"]>;
    }>>;
    readonly reason: Schema.NullOr<Schema.Literals<readonly ["duplicate", "fraudulent", "order_change", "product_unsatisfactory"]>>;
    readonly refunds: Schema.$Array<Schema.Struct<{
        readonly amount_refunded: Schema.Number;
        readonly payment_record_refund: Schema.Unknown;
        readonly refund: Schema.Unknown;
        readonly type: Schema.NullOr<Schema.Literals<readonly ["payment_record_refund", "refund"]>>;
    }>>;
    readonly shipping_cost: Schema.Unknown;
    readonly status: Schema.Literals<readonly ["issued", "void"]>;
    readonly subtotal: Schema.Number;
    readonly subtotal_excluding_tax: Schema.NullOr<Schema.Number>;
    readonly total: Schema.Number;
    readonly total_excluding_tax: Schema.NullOr<Schema.Number>;
    readonly total_taxes: Schema.NullOr<Schema.$Array<Schema.Struct<{
        readonly amount: Schema.Number;
        readonly tax_behavior: Schema.Literals<readonly ["exclusive", "inclusive"]>;
        readonly tax_rate_details: Schema.Unknown;
        readonly taxability_reason: Schema.Literals<readonly ["customer_exempt", "not_available", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated"]>;
        readonly taxable_amount: Schema.NullOr<Schema.Number>;
        readonly type: Schema.Literals<readonly ["tax_rate_details"]>;
    }>>>;
    readonly type: Schema.Literals<readonly ["mixed", "post_payment", "pre_payment"]>;
    readonly voided_at: Schema.NullOr<Schema.Number>;
}>;
export type GetCreditNotesPreviewOutput = typeof GetCreditNotesPreviewOutput.Type;
/**
 * Preview a credit note
 *
 * <p>Get a preview of a credit note without creating it.</p>
 *
 * @param amount - The integer amount in cents (or local equivalent) representing the total amount of the credit note. One of `amount`, `lines`, or `shipping_cost` must be provided.
 * @param credit_amount - The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice.
 * @param effective_at - The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF.
 * @param email_type - Type of email to send to the customer, one of `credit_note` or `none` and the default is `credit_note`.
 * @param expand - Specifies which fields in the response should be expanded.
 * @param invoice - ID of the invoice.
 * @param lines - Line items that make up the credit note. One of `amount`, `lines`, or `shipping_cost` must be provided.
 * @param memo - The credit note's memo appears on the credit note PDF.
 * @param metadata - Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
 * @param out_of_band_amount - The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe.
 * @param reason - Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`
 * @param refund_amount - The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice.
 * @param refunds - Refunds to link to this credit note.
 * @param shipping_cost - When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note. One of `amount`, `lines`, or `shipping_cost` must be provided.
 */
export declare const GetCreditNotesPreview: import("@distilled.cloud/core/client").OperationMethod<{
    readonly amount?: number | undefined;
    readonly credit_amount?: number | undefined;
    readonly effective_at?: number | undefined;
    readonly email_type?: "credit_note" | "none" | undefined;
    readonly expand?: string | undefined;
    readonly invoice: string;
    readonly lines?: string | undefined;
    readonly memo?: string | undefined;
    readonly metadata?: string | undefined;
    readonly out_of_band_amount?: number | undefined;
    readonly reason?: "duplicate" | "fraudulent" | "order_change" | "product_unsatisfactory" | undefined;
    readonly refund_amount?: number | undefined;
    readonly refunds?: string | undefined;
    readonly shipping_cost?: string | undefined;
}, {
    readonly amount: number;
    readonly amount_shipping: number;
    readonly created: number;
    readonly currency: string;
    readonly customer: unknown;
    readonly customer_account: string | null;
    readonly customer_balance_transaction: unknown;
    readonly discount_amount: number;
    readonly discount_amounts: readonly {
        readonly amount: number;
        readonly discount: unknown;
    }[];
    readonly effective_at: number | null;
    readonly id: string;
    readonly invoice: unknown;
    readonly lines: {
        readonly data: readonly {
            readonly amount: number;
            readonly description: string | null;
            readonly discount_amount: number;
            readonly discount_amounts: readonly {
                readonly amount: number;
                readonly discount: unknown;
            }[];
            readonly id: string;
            readonly invoice_line_item?: string | undefined;
            readonly livemode: boolean;
            readonly metadata: {
                readonly [x: string]: string;
            } | null;
            readonly object: "credit_note_line_item";
            readonly pretax_credit_amounts: readonly {
                readonly amount: number;
                readonly credit_balance_transaction?: unknown;
                readonly discount?: unknown;
                readonly type: "credit_balance_transaction" | "discount";
            }[];
            readonly quantity: number | null;
            readonly tax_rates: readonly {
                readonly active: boolean;
                readonly country: string | null;
                readonly created: number;
                readonly description: string | null;
                readonly display_name: string;
                readonly effective_percentage: number | null;
                readonly flat_amount: unknown;
                readonly id: string;
                readonly inclusive: boolean;
                readonly jurisdiction: string | null;
                readonly jurisdiction_level: "city" | "country" | "county" | "district" | "multiple" | "state" | null;
                readonly livemode: boolean;
                readonly metadata: {
                    readonly [x: string]: string;
                } | null;
                readonly object: "tax_rate";
                readonly percentage: number;
                readonly rate_type: "flat_amount" | "percentage" | null;
                readonly state: string | null;
                readonly tax_type: "amusement_tax" | "communications_tax" | "gst" | "hst" | "igst" | "jct" | "lease_tax" | "pst" | "qst" | "retail_delivery_fee" | "rst" | "sales_tax" | "service_tax" | "vat" | null;
            }[];
            readonly taxes: readonly {
                readonly amount: number;
                readonly tax_behavior: "exclusive" | "inclusive";
                readonly tax_rate_details: unknown;
                readonly taxability_reason: "customer_exempt" | "not_available" | "not_collecting" | "not_subject_to_tax" | "not_supported" | "portion_product_exempt" | "portion_reduced_rated" | "portion_standard_rated" | "product_exempt" | "product_exempt_holiday" | "proportionally_rated" | "reduced_rated" | "reverse_charge" | "standard_rated" | "taxable_basis_reduced" | "zero_rated";
                readonly taxable_amount: number | null;
                readonly type: "tax_rate_details";
            }[] | null;
            readonly type: "custom_line_item" | "invoice_line_item";
            readonly unit_amount: number | null;
            readonly unit_amount_decimal: string | null;
        }[];
        readonly has_more: boolean;
        readonly object: "list";
        readonly url: string;
    };
    readonly livemode: boolean;
    readonly memo: string | null;
    readonly metadata: {
        readonly [x: string]: string;
    } | null;
    readonly number: string;
    readonly object: "credit_note";
    readonly out_of_band_amount: number | null;
    readonly pdf: string;
    readonly post_payment_amount: number;
    readonly pre_payment_amount: number;
    readonly pretax_credit_amounts: readonly {
        readonly amount: number;
        readonly credit_balance_transaction?: unknown;
        readonly discount?: unknown;
        readonly type: "credit_balance_transaction" | "discount";
    }[];
    readonly reason: "duplicate" | "fraudulent" | "order_change" | "product_unsatisfactory" | null;
    readonly refunds: readonly {
        readonly amount_refunded: number;
        readonly payment_record_refund: unknown;
        readonly refund: unknown;
        readonly type: "payment_record_refund" | "refund" | null;
    }[];
    readonly shipping_cost: unknown;
    readonly status: "issued" | "void";
    readonly subtotal: number;
    readonly subtotal_excluding_tax: number | null;
    readonly total: number;
    readonly total_excluding_tax: number | null;
    readonly total_taxes: readonly {
        readonly amount: number;
        readonly tax_behavior: "exclusive" | "inclusive";
        readonly tax_rate_details: unknown;
        readonly taxability_reason: "customer_exempt" | "not_available" | "not_collecting" | "not_subject_to_tax" | "not_supported" | "portion_product_exempt" | "portion_reduced_rated" | "portion_standard_rated" | "product_exempt" | "product_exempt_holiday" | "proportionally_rated" | "reduced_rated" | "reverse_charge" | "standard_rated" | "taxable_basis_reduced" | "zero_rated";
        readonly taxable_amount: number | null;
        readonly type: "tax_rate_details";
    }[] | null;
    readonly type: "mixed" | "post_payment" | "pre_payment";
    readonly voided_at: number | null;
}, never, import("..").Credentials>;
//# sourceMappingURL=GetCreditNotesPreview.d.ts.map