import type { CampaignClaimRequestDTO, CampaignDTO, CampaignClaimDTO, CampaignTriggerDTO, PaginatedResponseDTO, CampaignClaimIncludeRelation, CampaignIncludeRelation, SortOrder } from '@explorins/pers-sdk'; import type { CampaignClaimFilters } from '@explorins/pers-sdk/campaign'; export type { CampaignClaimFilters } from '@explorins/pers-sdk/campaign'; export type { CampaignFilterOptions } from '@explorins/pers-sdk'; /** * Options for fetching campaigns * @deprecated Use CampaignFilterOptions from '@explorins/pers-sdk/campaign' instead */ export interface GetCampaignsOptions { /** Filter by tag(s) - single tag or array for OR match */ tags?: string | string[]; /** Free text search across name and description (case-insensitive) */ search?: string; /** Filter by business ID */ businessId?: string; /** Filter campaigns starting on or after this date */ startDate?: Date | string; /** Filter campaigns ending on or before this date */ endDate?: Date | string; /** Page number (1-indexed) */ page?: number; /** Items per page */ limit?: number; /** Sort field */ sortBy?: 'name' | 'createdAt' | 'startDate'; /** Sort order */ sortOrder?: SortOrder; /** Relations to include: 'triggerSources', 'businesses', 'claimCount' */ include?: CampaignIncludeRelation[]; } export declare const useCampaigns: () => { getActiveCampaigns: (options?: GetCampaignsOptions) => Promise>; getCampaignById: (campaignId: string, include?: CampaignIncludeRelation[]) => Promise; claimCampaign: (request: CampaignClaimRequestDTO) => Promise; getUserClaims: (options?: { page?: number; limit?: number; include?: CampaignClaimIncludeRelation[]; }) => Promise>; getCampaignTriggers: () => Promise>; getAllCampaigns: (options?: GetCampaignsOptions & { active?: boolean; }) => Promise>; getCampaignClaims: (filters?: CampaignClaimFilters, include?: CampaignClaimIncludeRelation[]) => Promise>; getCampaignClaimsByUserId: (userId: string, include?: CampaignClaimIncludeRelation[]) => Promise>; getCampaignClaimsByBusinessId: (businessId: string, include?: CampaignClaimIncludeRelation[]) => Promise>; assignTriggerSource: (campaignId: string, triggerSourceId: string) => Promise; removeTriggerSource: (campaignId: string, triggerSourceId: string) => Promise; isAvailable: boolean; }; export type CampaignHook = ReturnType; //# sourceMappingURL=useCampaigns.d.ts.map