/** * CommonGrants TypeScript Types * * This module exports all TypeScript types inferred from the Zod schemas. * Import types from "@common-grants/sdk/types" for type annotations. * * @module @common-grants/sdk/types * @packageDocumentation */ import { z } from "zod"; import { EventSchema, SingleDateEventSchema, DateRangeEventSchema, OtherEventSchema, MoneySchema, CustomFieldSchema, SystemMetadataSchema, EventTypeEnum, CustomFieldTypeEnum, DefaultFilterSchema, StringComparisonFilterSchema, StringArrayFilterSchema, NumberComparisonFilterSchema, NumberRangeFilterSchema, NumberArrayFilterSchema, DateComparisonFilterSchema, DateRangeFilterSchema, MoneyComparisonFilterSchema, MoneyRangeFilterSchema, EquivalenceOperatorsEnum, ComparisonOperatorsEnum, ArrayOperatorsEnum, StringOperatorsEnum, RangeOperatorsEnum, AllOperatorsEnum, OppStatusSchema, ApplicantTypeSchema, OppFundingSchema, OppTimelineSchema, OpportunityBaseSchema, OppSortingSchema, OppDefaultFiltersSchema, OppFiltersSchema, OppStatusOptionsEnum, ApplicantTypeOptionsEnum, OppSortByEnum, SuccessSchema, ErrorSchema, PaginatedBodyParamsSchema, PaginatedResultsInfoSchema, SortedResultsInfoSchema } from "./schemas"; export type Event = z.infer; export type EventType = z.infer; export type SingleDateEvent = z.infer; export type DateRangeEvent = z.infer; export type OtherEvent = z.infer; export type Money = z.infer; export type CustomField = z.infer; export type CustomFieldType = z.infer; export type SystemMetadata = z.infer; /** Filter operators */ export type EquivalenceOperator = z.infer; export type ComparisonOperator = z.infer; export type ArrayOperator = z.infer; export type StringOperator = z.infer; export type RangeOperator = z.infer; export type AllOperators = z.infer; /** Filters */ export type DefaultFilter = z.infer; export type StringComparisonFilter = z.infer; export type StringArrayFilter = z.infer; export type NumberComparisonFilter = z.infer; export type NumberRangeFilter = z.infer; export type NumberArrayFilter = z.infer; export type DateComparisonFilter = z.infer; export type DateRangeFilter = z.infer; export type MoneyComparisonFilter = z.infer; export type MoneyRangeFilter = z.infer; export type OppStatus = z.infer; export type OppStatusOptions = z.infer; export type ApplicantType = z.infer; export type ApplicantTypeOptions = z.infer; export type OppFunding = z.infer; export type OppTimeline = z.infer; export type OpportunityBase = z.infer; export type OppSorting = z.infer; export type OppSortBy = z.infer; export type OppDefaultFilters = z.infer; export type OppFilters = z.infer; /** Input type for pagination body params (fields are optional before parsing) */ export type PaginatedBodyParams = z.input; export type Success = z.infer; export type ErrorResponse = z.infer; export type PaginatedResultsInfo = z.infer; export type SortedResultsInfo = z.infer; /** * Generic OK response with data. * Use with specific data types, e.g., `Ok` */ export type Ok = Success & { data: T; }; /** * Generic paginated response with items. * Use with specific item types, e.g., `Paginated` */ export type Paginated = Success & { items: T[]; paginationInfo: PaginatedResultsInfo; }; /** * Generic sorted response (paginated + sort info). * Use with specific item types, e.g., `Sorted` */ export type Sorted = Paginated & { sortInfo: SortedResultsInfo; }; /** * Generic filtered response (sorted + filter info). * Use with specific item and filter types. */ export type Filtered = Sorted & { filterInfo: { filters: F; errors?: string[] | null | undefined; }; }; export type OpportunityResponse = Ok; export type OpportunitiesListResponse = Paginated; export type OpportunitiesSortedResponse = Sorted; export type OpportunitiesFilteredResponse = Filtered; /** Request body for the search endpoint */ export interface OppSearchRequest { /** Text query to search opportunity titles and descriptions */ search?: string; /** Filters to apply to the search */ filters?: OppFilters; /** Sort order for results */ sorting?: OppSorting; /** Pagination parameters */ pagination?: PaginatedBodyParams; } //# sourceMappingURL=types.d.ts.map