import { z } from 'zod';
import type { EntityManagerService } from '../../services';
export type GrantsApiServicesConfig = {
    entityManager?: EntityManagerService;
};
export declare const CreateGrantSchema: z.ZodObject<{
    userId: z.ZodEffects<z.ZodString, number, string>;
    appApiKey: z.ZodType<string, z.ZodTypeDef, string>;
}, "strip", z.ZodTypeAny, {
    userId: number;
    appApiKey: string;
}, {
    userId: string;
    appApiKey: string;
}>;
export type EntityManagerCreateGrantRequest = z.input<typeof CreateGrantSchema>;
export declare const AddManagerSchema: z.ZodObject<{
    userId: z.ZodEffects<z.ZodString, number, string>;
    managerUserId: z.ZodEffects<z.ZodString, number, string>;
}, "strip", z.ZodTypeAny, {
    userId: number;
    managerUserId: number;
}, {
    userId: string;
    managerUserId: string;
}>;
export type EntityManagerAddManagerRequest = z.input<typeof AddManagerSchema>;
export declare const RemoveManagerSchema: z.ZodObject<{
    userId: z.ZodEffects<z.ZodString, number, string>;
    managerUserId: z.ZodEffects<z.ZodString, number, string>;
}, "strip", z.ZodTypeAny, {
    userId: number;
    managerUserId: number;
}, {
    userId: string;
    managerUserId: string;
}>;
export type EntityManagerRemoveManagerRequest = z.input<typeof RemoveManagerSchema>;
export declare const RevokeGrantSchema: z.ZodObject<{
    userId: z.ZodEffects<z.ZodString, number, string>;
    appApiKey: z.ZodType<string, z.ZodTypeDef, string>;
}, "strip", z.ZodTypeAny, {
    userId: number;
    appApiKey: string;
}, {
    userId: string;
    appApiKey: string;
}>;
export type EntityManagerRevokeGrantRequest = z.input<typeof RevokeGrantSchema>;
export declare const ApproveGrantSchema: z.ZodObject<{
    userId: z.ZodEffects<z.ZodString, number, string>;
    grantorUserId: z.ZodEffects<z.ZodString, number, string>;
}, "strip", z.ZodTypeAny, {
    userId: number;
    grantorUserId: number;
}, {
    userId: string;
    grantorUserId: string;
}>;
export type EntityManagerApproveGrantRequest = z.input<typeof ApproveGrantSchema>;
export type CreateGrantRequest = EntityManagerCreateGrantRequest;
export type AddManagerRequest = EntityManagerAddManagerRequest;
export type RemoveManagerRequest = EntityManagerRemoveManagerRequest;
export type RevokeGrantRequest = EntityManagerRevokeGrantRequest;
export type ApproveGrantRequest = EntityManagerApproveGrantRequest;
