@lineai/gov-deals
Version:
Explore Federal contracts for government building renovations, city hall renovations, courthouse updates, library modernizations, federal building improvement contracts, base housing and facilities upgrades.
245 lines (244 loc) • 8.04 kB
TypeScript
/**
* Common types used across the gov-deals package
* All types are prefixed with 'GovDeals' to avoid naming conflicts
*/
import { z } from 'zod';
/**
* Location information for government contracts
*/
export declare const GovDealsLocationSchema: z.ZodObject<{
city: z.ZodOptional<z.ZodString>;
state: z.ZodOptional<z.ZodEnum<[string, ...string[]]>>;
zip: z.ZodOptional<z.ZodString>;
country: z.ZodOptional<z.ZodString>;
addressLine1: z.ZodOptional<z.ZodString>;
addressLine2: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
city?: string | undefined;
state?: string | undefined;
zip?: string | undefined;
country?: string | undefined;
addressLine1?: string | undefined;
addressLine2?: string | undefined;
}, {
city?: string | undefined;
state?: string | undefined;
zip?: string | undefined;
country?: string | undefined;
addressLine1?: string | undefined;
addressLine2?: string | undefined;
}>;
export type GovDealsLocation = z.infer<typeof GovDealsLocationSchema>;
/**
* Federal agency information
*/
export declare const GovDealsAgencySchema: z.ZodObject<{
name: z.ZodString;
code: z.ZodOptional<z.ZodString>;
type: z.ZodOptional<z.ZodString>;
parentAgency: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
name: string;
code?: string | undefined;
type?: string | undefined;
parentAgency?: string | undefined;
}, {
name: string;
code?: string | undefined;
type?: string | undefined;
parentAgency?: string | undefined;
}>;
export type GovDealsAgency = z.infer<typeof GovDealsAgencySchema>;
/**
* Government contact information
*/
export declare const GovDealsContactSchema: z.ZodObject<{
name: z.ZodOptional<z.ZodString>;
email: z.ZodOptional<z.ZodString>;
phone: z.ZodOptional<z.ZodString>;
title: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
name?: string | undefined;
email?: string | undefined;
phone?: string | undefined;
title?: string | undefined;
}, {
name?: string | undefined;
email?: string | undefined;
phone?: string | undefined;
title?: string | undefined;
}>;
export type GovDealsContact = z.infer<typeof GovDealsContactSchema>;
/**
* Date range for contract searches
*/
export declare const GovDealsDateRangeSchema: z.ZodObject<{
start: z.ZodUnion<[z.ZodDate, z.ZodString]>;
end: z.ZodUnion<[z.ZodDate, z.ZodString]>;
}, "strip", z.ZodTypeAny, {
start: string | Date;
end: string | Date;
}, {
start: string | Date;
end: string | Date;
}>;
export type GovDealsDateRange = z.infer<typeof GovDealsDateRangeSchema>;
/**
* Value range for contract amounts
*/
export declare const GovDealsValueRangeSchema: z.ZodObject<{
min: z.ZodOptional<z.ZodNumber>;
max: z.ZodOptional<z.ZodNumber>;
currency: z.ZodOptional<z.ZodDefault<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
min?: number | undefined;
max?: number | undefined;
currency?: string | undefined;
}, {
min?: number | undefined;
max?: number | undefined;
currency?: string | undefined;
}>;
export type GovDealsValueRange = z.infer<typeof GovDealsValueRangeSchema>;
/**
* Pagination parameters for API requests
*/
export declare const GovDealsPaginationParamsSchema: z.ZodObject<{
page: z.ZodOptional<z.ZodNumber>;
limit: z.ZodOptional<z.ZodNumber>;
offset: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
page?: number | undefined;
limit?: number | undefined;
offset?: number | undefined;
}, {
page?: number | undefined;
limit?: number | undefined;
offset?: number | undefined;
}>;
export type GovDealsPaginationParams = z.infer<typeof GovDealsPaginationParamsSchema>;
/**
* Sort order for results
*/
export declare const GovDealsSortOrderSchema: z.ZodEnum<["asc", "desc"]>;
export type GovDealsSortOrder = z.infer<typeof GovDealsSortOrderSchema>;
/**
* API error response
*/
export declare const GovDealsErrorResponseSchema: z.ZodObject<{
code: z.ZodString;
message: z.ZodString;
details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
code: string;
message: string;
details?: Record<string, unknown> | undefined;
}, {
code: string;
message: string;
details?: Record<string, unknown> | undefined;
}>;
export type GovDealsErrorResponse = z.infer<typeof GovDealsErrorResponseSchema>;
/**
* API response wrapper
*/
export declare const GovDealsApiResponseSchema: <T extends z.ZodTypeAny>(dataSchema: T) => z.ZodObject<{
data: T;
metadata: z.ZodOptional<z.ZodObject<{
totalRecords: z.ZodOptional<z.ZodNumber>;
page: z.ZodOptional<z.ZodNumber>;
limit: z.ZodOptional<z.ZodNumber>;
hasMore: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
page?: number | undefined;
limit?: number | undefined;
totalRecords?: number | undefined;
hasMore?: boolean | undefined;
}, {
page?: number | undefined;
limit?: number | undefined;
totalRecords?: number | undefined;
hasMore?: boolean | undefined;
}>>;
}, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
data: T;
metadata: z.ZodOptional<z.ZodObject<{
totalRecords: z.ZodOptional<z.ZodNumber>;
page: z.ZodOptional<z.ZodNumber>;
limit: z.ZodOptional<z.ZodNumber>;
hasMore: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
page?: number | undefined;
limit?: number | undefined;
totalRecords?: number | undefined;
hasMore?: boolean | undefined;
}, {
page?: number | undefined;
limit?: number | undefined;
totalRecords?: number | undefined;
hasMore?: boolean | undefined;
}>>;
}>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
data: T;
metadata: z.ZodOptional<z.ZodObject<{
totalRecords: z.ZodOptional<z.ZodNumber>;
page: z.ZodOptional<z.ZodNumber>;
limit: z.ZodOptional<z.ZodNumber>;
hasMore: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
page?: number | undefined;
limit?: number | undefined;
totalRecords?: number | undefined;
hasMore?: boolean | undefined;
}, {
page?: number | undefined;
limit?: number | undefined;
totalRecords?: number | undefined;
hasMore?: boolean | undefined;
}>>;
}>, any>[k]; } : never, z.baseObjectInputType<{
data: T;
metadata: z.ZodOptional<z.ZodObject<{
totalRecords: z.ZodOptional<z.ZodNumber>;
page: z.ZodOptional<z.ZodNumber>;
limit: z.ZodOptional<z.ZodNumber>;
hasMore: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
page?: number | undefined;
limit?: number | undefined;
totalRecords?: number | undefined;
hasMore?: boolean | undefined;
}, {
page?: number | undefined;
limit?: number | undefined;
totalRecords?: number | undefined;
hasMore?: boolean | undefined;
}>>;
}> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
data: T;
metadata: z.ZodOptional<z.ZodObject<{
totalRecords: z.ZodOptional<z.ZodNumber>;
page: z.ZodOptional<z.ZodNumber>;
limit: z.ZodOptional<z.ZodNumber>;
hasMore: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
page?: number | undefined;
limit?: number | undefined;
totalRecords?: number | undefined;
hasMore?: boolean | undefined;
}, {
page?: number | undefined;
limit?: number | undefined;
totalRecords?: number | undefined;
hasMore?: boolean | undefined;
}>>;
}>[k_1]; } : never>;
export type GovDealsApiResponse<T> = {
data: T;
metadata?: {
totalRecords?: number;
page?: number;
limit?: number;
hasMore?: boolean;
};
};