import { z } from 'zod'; import type { ChannelCredentials, ServerCredentials } from '@grpc/grpc-js'; export declare enum GrpcStatus { OK = 0, CANCELLED = 1, UNKNOWN = 2, INVALID_ARGUMENT = 3, DEADLINE_EXCEEDED = 4, NOT_FOUND = 5, ALREADY_EXISTS = 6, PERMISSION_DENIED = 7, RESOURCE_EXHAUSTED = 8, FAILED_PRECONDITION = 9, ABORTED = 10, OUT_OF_RANGE = 11, UNIMPLEMENTED = 12, INTERNAL = 13, UNAVAILABLE = 14, DATA_LOSS = 15, UNAUTHENTICATED = 16 } export declare const grpcMetadataSchema: z.ZodRecord, z.ZodType, z.ZodTypeDef, Buffer>, z.ZodArray, z.ZodTypeDef, Buffer>, "many">]>>; export declare const grpcErrorDetailsSchema: z.ZodObject<{ code: z.ZodNativeEnum; message: z.ZodString; details: z.ZodOptional, "many">>; }, "strip", z.ZodTypeAny, { code: GrpcStatus; message: string; details?: { type: string; value?: unknown; }[] | undefined; }, { code: GrpcStatus; message: string; details?: { type: string; value?: unknown; }[] | undefined; }>; export declare const grpcRequestMetadataSchema: z.ZodObject<{ 'x-request-id': z.ZodOptional; authorization: z.ZodOptional; 'x-api-key': z.ZodOptional; 'x-user-agent': z.ZodOptional; 'x-forwarded-for': z.ZodOptional; }, "strip", z.ZodTypeAny, { 'x-request-id'?: string | undefined; authorization?: string | undefined; 'x-api-key'?: string | undefined; 'x-forwarded-for'?: string | undefined; 'x-user-agent'?: string | undefined; }, { 'x-request-id'?: string | undefined; authorization?: string | undefined; 'x-api-key'?: string | undefined; 'x-forwarded-for'?: string | undefined; 'x-user-agent'?: string | undefined; }>; export declare const grpcPaginationRequestSchema: z.ZodObject<{ pageSize: z.ZodDefault; pageToken: z.ZodOptional; }, "strip", z.ZodTypeAny, { pageSize: number; pageToken?: string | undefined; }, { pageSize?: number | undefined; pageToken?: string | undefined; }>; export declare const grpcPaginationResponseSchema: z.ZodObject<{ nextPageToken: z.ZodOptional; totalSize: z.ZodOptional; }, "strip", z.ZodTypeAny, { totalSize?: number | undefined; nextPageToken?: string | undefined; }, { totalSize?: number | undefined; nextPageToken?: string | undefined; }>; export declare const grpcFieldMaskSchema: z.ZodObject<{ paths: z.ZodArray; }, "strip", z.ZodTypeAny, { paths: string[]; }, { paths: string[]; }>; export declare const grpcTimestampSchema: z.ZodObject<{ seconds: z.ZodNumber; nanos: z.ZodNumber; }, "strip", z.ZodTypeAny, { seconds: number; nanos: number; }, { seconds: number; nanos: number; }>; export declare const grpcDurationSchema: z.ZodObject<{ seconds: z.ZodNumber; nanos: z.ZodNumber; }, "strip", z.ZodTypeAny, { seconds: number; nanos: number; }, { seconds: number; nanos: number; }>; export declare const grpcEmptySchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>; export type GrpcMetadata = z.infer; export type GrpcErrorDetails = z.infer; export type GrpcRequestMetadata = z.infer; export type GrpcPaginationRequest = z.infer; export type GrpcPaginationResponse = z.infer; export type GrpcFieldMask = z.infer; export type GrpcTimestamp = z.infer; export type GrpcDuration = z.infer; export type GrpcEmpty = z.infer; export interface GrpcCallOptions { deadline?: Date; metadata?: GrpcMetadata; credentials?: ChannelCredentials; propagateFlags?: number; } export interface GrpcServerOptions { host: string; port: number; credentials?: ServerCredentials; maxReceiveMessageSize?: number; maxSendMessageSize?: number; keepaliveTime?: number; keepaliveTimeout?: number; maxConcurrentCalls?: number; } export interface GrpcClientOptions { address: string; credentials?: ChannelCredentials; maxReceiveMessageSize?: number; maxSendMessageSize?: number; channelOptions?: Record; } export declare const dateToGrpcTimestamp: (date: Date) => GrpcTimestamp; export declare const grpcTimestampToDate: (timestamp: GrpcTimestamp) => Date; export declare const msToGrpcDuration: (ms: number) => GrpcDuration; export declare const grpcDurationToMs: (duration: GrpcDuration) => number; //# sourceMappingURL=grpc.d.ts.map