import * as z from "zod/v4-mini";
import { Result as SafeParseResult } from "../../types/fp.js";
import { CheckoutSortProperty } from "../components/checkoutsortproperty.js";
import { CheckoutStatus } from "../components/checkoutstatus.js";
import { ListResourceCheckout } from "../components/listresourcecheckout.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * Filter by organization ID.
 */
export type CheckoutsListQueryParamOrganizationIDFilter = string | Array<string>;
/**
 * Filter by product ID.
 */
export type CheckoutsListQueryParamProductIDFilter = string | Array<string>;
/**
 * Filter by customer ID.
 */
export type CheckoutsListQueryParamCustomerIDFilter = string | Array<string>;
/**
 * Filter by customer external ID.
 */
export type CheckoutsListQueryParamExternalCustomerIDFilter = string | Array<string>;
/**
 * Filter by checkout session status.
 */
export type CheckoutsListQueryParamStatusFilter = CheckoutStatus | Array<CheckoutStatus>;
export type CheckoutsListRequest = {
    /**
     * Filter by organization ID.
     */
    organizationId?: string | Array<string> | null | undefined;
    /**
     * Filter by product ID.
     */
    productId?: 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 checkout session status.
     */
    status?: CheckoutStatus | Array<CheckoutStatus> | null | undefined;
    /**
     * Filter by customer email.
     */
    query?: string | 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<CheckoutSortProperty> | null | undefined;
};
export type CheckoutsListResponse = {
    result: ListResourceCheckout;
};
/** @internal */
export type CheckoutsListQueryParamOrganizationIDFilter$Outbound = string | Array<string>;
/** @internal */
export declare const CheckoutsListQueryParamOrganizationIDFilter$outboundSchema: z.ZodMiniType<CheckoutsListQueryParamOrganizationIDFilter$Outbound, CheckoutsListQueryParamOrganizationIDFilter>;
export declare function checkoutsListQueryParamOrganizationIDFilterToJSON(checkoutsListQueryParamOrganizationIDFilter: CheckoutsListQueryParamOrganizationIDFilter): string;
/** @internal */
export type CheckoutsListQueryParamProductIDFilter$Outbound = string | Array<string>;
/** @internal */
export declare const CheckoutsListQueryParamProductIDFilter$outboundSchema: z.ZodMiniType<CheckoutsListQueryParamProductIDFilter$Outbound, CheckoutsListQueryParamProductIDFilter>;
export declare function checkoutsListQueryParamProductIDFilterToJSON(checkoutsListQueryParamProductIDFilter: CheckoutsListQueryParamProductIDFilter): string;
/** @internal */
export type CheckoutsListQueryParamCustomerIDFilter$Outbound = string | Array<string>;
/** @internal */
export declare const CheckoutsListQueryParamCustomerIDFilter$outboundSchema: z.ZodMiniType<CheckoutsListQueryParamCustomerIDFilter$Outbound, CheckoutsListQueryParamCustomerIDFilter>;
export declare function checkoutsListQueryParamCustomerIDFilterToJSON(checkoutsListQueryParamCustomerIDFilter: CheckoutsListQueryParamCustomerIDFilter): string;
/** @internal */
export type CheckoutsListQueryParamExternalCustomerIDFilter$Outbound = string | Array<string>;
/** @internal */
export declare const CheckoutsListQueryParamExternalCustomerIDFilter$outboundSchema: z.ZodMiniType<CheckoutsListQueryParamExternalCustomerIDFilter$Outbound, CheckoutsListQueryParamExternalCustomerIDFilter>;
export declare function checkoutsListQueryParamExternalCustomerIDFilterToJSON(checkoutsListQueryParamExternalCustomerIDFilter: CheckoutsListQueryParamExternalCustomerIDFilter): string;
/** @internal */
export type CheckoutsListQueryParamStatusFilter$Outbound = string | Array<string>;
/** @internal */
export declare const CheckoutsListQueryParamStatusFilter$outboundSchema: z.ZodMiniType<CheckoutsListQueryParamStatusFilter$Outbound, CheckoutsListQueryParamStatusFilter>;
export declare function checkoutsListQueryParamStatusFilterToJSON(checkoutsListQueryParamStatusFilter: CheckoutsListQueryParamStatusFilter): string;
/** @internal */
export type CheckoutsListRequest$Outbound = {
    organization_id?: string | Array<string> | null | undefined;
    product_id?: string | Array<string> | null | undefined;
    customer_id?: string | Array<string> | null | undefined;
    external_customer_id?: string | Array<string> | null | undefined;
    status?: string | Array<string> | null | undefined;
    query?: string | null | undefined;
    page: number;
    limit: number;
    sorting?: Array<string> | null | undefined;
};
/** @internal */
export declare const CheckoutsListRequest$outboundSchema: z.ZodMiniType<CheckoutsListRequest$Outbound, CheckoutsListRequest>;
export declare function checkoutsListRequestToJSON(checkoutsListRequest: CheckoutsListRequest): string;
/** @internal */
export declare const CheckoutsListResponse$inboundSchema: z.ZodMiniType<CheckoutsListResponse, unknown>;
export declare function checkoutsListResponseFromJSON(jsonString: string): SafeParseResult<CheckoutsListResponse, SDKValidationError>;
//# sourceMappingURL=checkoutslist.d.ts.map