import { OnStatusUpdateFn } from './useTransactionSigner'; import type { RedemptionCreateRequestDTO, RedemptionDTO, RedemptionRedeemDTO, RedemptionRedeemRequestResponseDTO, RedemptionTypeDTO, PaginatedResponseDTO, RedemptionRedeemIncludeRelation, RedemptionIncludeRelation, ProcessRecordStatus, DynamicContext, SortOrder } from '@explorins/pers-sdk'; import type { RedemptionRedeemQueryParams, RedemptionQueryParams } from '@explorins/pers-sdk/redemption'; import type { PaginationOptions } from '@explorins/pers-sdk'; export type { RedemptionRedeemQueryParams, RedemptionQueryParams } from '@explorins/pers-sdk/redemption'; /** @deprecated Use RedemptionRedeemQueryParams instead */ export type RedemptionRedeemFilters = RedemptionRedeemQueryParams; /** @deprecated Use RedemptionQueryParams instead */ export type RedemptionFilterOptions = RedemptionQueryParams; /** * Options for fetching redemptions with filtering and pagination */ export interface GetRedemptionsOptions { /** Filter by active status (Admin only - regular users always see active offers) */ active?: boolean; /** Free text search across name, description, tags (case-insensitive) */ search?: string; /** Filter by tag(s) - single tag or array for OR match */ tags?: string | string[]; /** Filter redemptions starting on or after this date */ startDate?: Date | string; /** Filter redemptions ending on or before this date */ endDate?: Date | string; /** Relations to include: 'redeemCount' */ include?: RedemptionIncludeRelation[]; /** Page number (1-indexed) */ page?: number; /** Results per page */ limit?: number; /** Field to sort by */ sortBy?: 'name' | 'createdAt' | 'startDate'; /** Sort direction */ sortOrder?: SortOrder; } export declare const useRedemptions: () => { getRedemptions: (options?: GetRedemptionsOptions) => Promise>; getRedemptionById: (id: string, include?: RedemptionIncludeRelation[]) => Promise; getUserRedemptions: (filters?: { redemptionId?: string; status?: ProcessRecordStatus; }, options?: PaginationOptions, include?: RedemptionRedeemIncludeRelation[]) => Promise>; redeem: (redemptionId: string, options?: { context?: DynamicContext; onStatusUpdate?: OnStatusUpdateFn; }) => Promise; getRedemptionTypes: () => Promise>; getRedemptionRedeems: (filters?: RedemptionRedeemQueryParams, include?: RedemptionRedeemIncludeRelation[]) => Promise>; createRedemption: (redemptionData: RedemptionCreateRequestDTO) => Promise; updateRedemption: (redemptionId: string, redemptionData: RedemptionCreateRequestDTO) => Promise; toggleRedemptionStatus: (redemptionId: string) => Promise; isAvailable: boolean; signingStatus: import("@explorins/pers-signer/types").SigningStatus | null; signingStatusMessage: string | null; }; export type RedemptionHook = ReturnType; //# sourceMappingURL=useRedemptions.d.ts.map