import * as z from "zod/v4-mini";
import { Result as SafeParseResult } from "../../types/fp.js";
import { ListResourceRefund } from "../components/listresourcerefund.js";
import { RefundSortProperty } from "../components/refundsortproperty.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * Filter by refund ID.
 */
export type RefundIDFilter = string | Array<string>;
/**
 * Filter by organization ID.
 */
export type RefundsListQueryParamOrganizationIDFilter = string | Array<string>;
/**
 * Filter by order ID.
 */
export type OrderIDFilter = string | Array<string>;
/**
 * Filter by subscription ID.
 */
export type QueryParamSubscriptionIDFilter = string | Array<string>;
/**
 * Filter by customer ID.
 */
export type RefundsListQueryParamCustomerIDFilter = string | Array<string>;
/**
 * Filter by customer external ID.
 */
export type RefundsListQueryParamExternalCustomerIDFilter = string | Array<string>;
export type RefundsListRequest = {
    /**
     * Filter by refund ID.
     */
    id?: string | Array<string> | null | undefined;
    /**
     * Filter by organization ID.
     */
    organizationId?: string | Array<string> | null | undefined;
    /**
     * Filter by order ID.
     */
    orderId?: string | Array<string> | null | undefined;
    /**
     * Filter by subscription ID.
     */
    subscriptionId?: string | Array<string> | null | undefined;
    /**
     * Filter by customer ID.
     */
    customerId?: string | Array<string> | null | undefined;
    /**
     * Filter by customer external ID.
     */
    externalCustomerId?: string | Array<string> | null | undefined;
    /**
     * Filter by `succeeded`.
     */
    succeeded?: boolean | null | undefined;
    /**
     * Page number, defaults to 1.
     */
    page?: number | undefined;
    /**
     * Size of a page, defaults to 10. Maximum is 100.
     */
    limit?: number | undefined;
    /**
     * Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign `-` before the criteria name to sort by descending order.
     */
    sorting?: Array<RefundSortProperty> | null | undefined;
};
export type RefundsListResponse = {
    result: ListResourceRefund;
};
/** @internal */
export type RefundIDFilter$Outbound = string | Array<string>;
/** @internal */
export declare const RefundIDFilter$outboundSchema: z.ZodMiniType<RefundIDFilter$Outbound, RefundIDFilter>;
export declare function refundIDFilterToJSON(refundIDFilter: RefundIDFilter): string;
/** @internal */
export type RefundsListQueryParamOrganizationIDFilter$Outbound = string | Array<string>;
/** @internal */
export declare const RefundsListQueryParamOrganizationIDFilter$outboundSchema: z.ZodMiniType<RefundsListQueryParamOrganizationIDFilter$Outbound, RefundsListQueryParamOrganizationIDFilter>;
export declare function refundsListQueryParamOrganizationIDFilterToJSON(refundsListQueryParamOrganizationIDFilter: RefundsListQueryParamOrganizationIDFilter): string;
/** @internal */
export type OrderIDFilter$Outbound = string | Array<string>;
/** @internal */
export declare const OrderIDFilter$outboundSchema: z.ZodMiniType<OrderIDFilter$Outbound, OrderIDFilter>;
export declare function orderIDFilterToJSON(orderIDFilter: OrderIDFilter): string;
/** @internal */
export type QueryParamSubscriptionIDFilter$Outbound = string | Array<string>;
/** @internal */
export declare const QueryParamSubscriptionIDFilter$outboundSchema: z.ZodMiniType<QueryParamSubscriptionIDFilter$Outbound, QueryParamSubscriptionIDFilter>;
export declare function queryParamSubscriptionIDFilterToJSON(queryParamSubscriptionIDFilter: QueryParamSubscriptionIDFilter): string;
/** @internal */
export type RefundsListQueryParamCustomerIDFilter$Outbound = string | Array<string>;
/** @internal */
export declare const RefundsListQueryParamCustomerIDFilter$outboundSchema: z.ZodMiniType<RefundsListQueryParamCustomerIDFilter$Outbound, RefundsListQueryParamCustomerIDFilter>;
export declare function refundsListQueryParamCustomerIDFilterToJSON(refundsListQueryParamCustomerIDFilter: RefundsListQueryParamCustomerIDFilter): string;
/** @internal */
export type RefundsListQueryParamExternalCustomerIDFilter$Outbound = string | Array<string>;
/** @internal */
export declare const RefundsListQueryParamExternalCustomerIDFilter$outboundSchema: z.ZodMiniType<RefundsListQueryParamExternalCustomerIDFilter$Outbound, RefundsListQueryParamExternalCustomerIDFilter>;
export declare function refundsListQueryParamExternalCustomerIDFilterToJSON(refundsListQueryParamExternalCustomerIDFilter: RefundsListQueryParamExternalCustomerIDFilter): string;
/** @internal */
export type RefundsListRequest$Outbound = {
    id?: string | Array<string> | null | undefined;
    organization_id?: string | Array<string> | null | undefined;
    order_id?: string | Array<string> | null | undefined;
    subscription_id?: string | Array<string> | null | undefined;
    customer_id?: string | Array<string> | null | undefined;
    external_customer_id?: string | Array<string> | null | undefined;
    succeeded?: boolean | null | undefined;
    page: number;
    limit: number;
    sorting?: Array<string> | null | undefined;
};
/** @internal */
export declare const RefundsListRequest$outboundSchema: z.ZodMiniType<RefundsListRequest$Outbound, RefundsListRequest>;
export declare function refundsListRequestToJSON(refundsListRequest: RefundsListRequest): string;
/** @internal */
export declare const RefundsListResponse$inboundSchema: z.ZodMiniType<RefundsListResponse, unknown>;
export declare function refundsListResponseFromJSON(jsonString: string): SafeParseResult<RefundsListResponse, SDKValidationError>;
//# sourceMappingURL=refundslist.d.ts.map