import { z } from "@hono/zod-openapi";

//#region src/validation/schemas/shared.d.ts
declare const MIN_ID_LENGTH = 1;
declare const MAX_ID_LENGTH = 255;
declare const URL_SAFE_ID_PATTERN: RegExp;
declare const PROJECT_ID_PATTERN: RegExp;
declare const ResourceIdSchema: z.ZodString;
declare const ProjectResourceIdSchema: z.ZodString;
declare const StringRecordSchema: z.ZodRecord<z.ZodString, z.ZodString>;
declare const PaginationSchema: z.ZodObject<{
  page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
  limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
  total: z.ZodNumber;
  pages: z.ZodNumber;
  completedCount: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
declare const PaginationQueryParamsSchema: z.ZodObject<{
  page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
  limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
}, z.core.$strip>;
type OmitProjectScope<T> = Omit<T, 'tenantId' | 'projectId'>;
type OmitAgentScope<T> = Omit<T, 'tenantId' | 'projectId' | 'agentId'>;
type OmitTenantScope<T> = Omit<T, 'tenantId'>;
type OmitTimestamps<T> = Omit<T, 'createdAt' | 'updatedAt'>;
type OmitGeneratedFields<T> = Omit<T, 'id' | 'createdAt' | 'updatedAt'>;
declare const omitTenantScope: <T extends z.ZodRawShape>(schema: z.ZodObject<T>) => z.ZodObject<OmitTenantScope<T>>;
declare const omitTimestamps: <T extends z.ZodRawShape>(schema: z.ZodObject<T>) => z.ZodObject<OmitTimestamps<T>>;
declare const omitGeneratedFields: <T extends z.ZodRawShape>(schema: z.ZodObject<T>) => z.ZodObject<OmitGeneratedFields<T>>;
declare const createApiSchema: <T extends z.ZodRawShape>(schema: z.ZodObject<T>) => z.ZodObject<OmitProjectScope<T>>;
declare const createApiInsertSchema: <T extends z.ZodRawShape>(schema: z.ZodObject<T>) => z.ZodObject<OmitProjectScope<T>>;
declare const createApiUpdateSchema: <T extends z.ZodRawShape>(schema: z.ZodObject<T>) => z.ZodObject<OmitProjectScope<T> extends infer T_1 extends Readonly<{
  [k: string]: z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
}> ? { [k in keyof T_1]: z.ZodOptional<T_1[k]> } : never, z.core.$strip>;
declare const createAgentScopedApiSchema: <T extends z.ZodRawShape>(schema: z.ZodObject<T>) => z.ZodObject<OmitAgentScope<T>>;
declare const createAgentScopedApiInsertSchema: <T extends z.ZodRawShape>(schema: z.ZodObject<T>) => z.ZodObject<OmitAgentScope<T>>;
declare const createAgentScopedApiUpdateSchema: <T extends z.ZodRawShape>(schema: z.ZodObject<T>) => z.ZodObject<OmitAgentScope<T> extends infer T_1 extends Readonly<{
  [k: string]: z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
}> ? { [k in keyof T_1]: z.ZodOptional<T_1[k]> } : never, z.core.$strip>;
//#endregion
export { MAX_ID_LENGTH, MIN_ID_LENGTH, PROJECT_ID_PATTERN, PaginationQueryParamsSchema, PaginationSchema, ProjectResourceIdSchema, ResourceIdSchema, StringRecordSchema, URL_SAFE_ID_PATTERN, createAgentScopedApiInsertSchema, createAgentScopedApiSchema, createAgentScopedApiUpdateSchema, createApiInsertSchema, createApiSchema, createApiUpdateSchema, omitGeneratedFields, omitTenantScope, omitTimestamps };