import * as z from "zod/v4-mini";
import { Result as SafeParseResult } from "../../types/fp.js";
import { ListResourceBenefitGrant } from "../components/listresourcebenefitgrant.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * Filter by customer.
 */
export type QueryParamCustomerIDFilter = string | Array<string>;
/**
 * Filter by member.
 */
export type MemberIDFilter = string | Array<string>;
export type BenefitsGrantsRequest = {
    id: string;
    /**
     * Filter by granted status. If `true`, only granted benefits will be returned. If `false`, only revoked benefits will be returned.
     */
    isGranted?: boolean | null | undefined;
    /**
     * Filter by customer.
     */
    customerId?: string | Array<string> | null | undefined;
    /**
     * Filter by member.
     */
    memberId?: string | Array<string> | null | undefined;
    /**
     * Page number, defaults to 1.
     */
    page?: number | undefined;
    /**
     * Size of a page, defaults to 10. Maximum is 100.
     */
    limit?: number | undefined;
};
export type BenefitsGrantsResponse = {
    result: ListResourceBenefitGrant;
};
/** @internal */
export type QueryParamCustomerIDFilter$Outbound = string | Array<string>;
/** @internal */
export declare const QueryParamCustomerIDFilter$outboundSchema: z.ZodMiniType<QueryParamCustomerIDFilter$Outbound, QueryParamCustomerIDFilter>;
export declare function queryParamCustomerIDFilterToJSON(queryParamCustomerIDFilter: QueryParamCustomerIDFilter): string;
/** @internal */
export type MemberIDFilter$Outbound = string | Array<string>;
/** @internal */
export declare const MemberIDFilter$outboundSchema: z.ZodMiniType<MemberIDFilter$Outbound, MemberIDFilter>;
export declare function memberIDFilterToJSON(memberIDFilter: MemberIDFilter): string;
/** @internal */
export type BenefitsGrantsRequest$Outbound = {
    id: string;
    is_granted?: boolean | null | undefined;
    customer_id?: string | Array<string> | null | undefined;
    member_id?: string | Array<string> | null | undefined;
    page: number;
    limit: number;
};
/** @internal */
export declare const BenefitsGrantsRequest$outboundSchema: z.ZodMiniType<BenefitsGrantsRequest$Outbound, BenefitsGrantsRequest>;
export declare function benefitsGrantsRequestToJSON(benefitsGrantsRequest: BenefitsGrantsRequest): string;
/** @internal */
export declare const BenefitsGrantsResponse$inboundSchema: z.ZodMiniType<BenefitsGrantsResponse, unknown>;
export declare function benefitsGrantsResponseFromJSON(jsonString: string): SafeParseResult<BenefitsGrantsResponse, SDKValidationError>;
//# sourceMappingURL=benefitsgrants.d.ts.map