import { ClientMiddleware, RawClient } from 'nice-grpc'; import type { FromTsProtoServiceDefinition, TsProtoServiceDefinition } from 'nice-grpc/lib/service-definitions/ts-proto'; import { PermissionDefinition, SchemaDefinition, DataDefinition, TenancyDefinition, WatchDefinition, BundleDefinition } from './generated/base/v1/service'; import { Config } from './config'; type ClientFromDefinition = RawClient>; /** * Return type for the Permify gRPC client. * This explicit type ensures proper type preservation through export layers. */ export type PermifyClient = { permission: ClientFromDefinition; schema: ClientFromDefinition; data: ClientFromDefinition; bundle: ClientFromDefinition; tenancy: ClientFromDefinition; watch: ClientFromDefinition; }; /** * Create a new gRPC service client for Permify. * The client can be configured with multiple client interceptors. For authentication interceptors, * see the interceptors in this package. * * @param conf A configuration object for bootstrap connection * @param interceptors A list of interceptors that should be used for the client. * * @returns A new gRPC service client for the Permission API of Permify. */ export declare function newClient(conf: Config, ...interceptors: ClientMiddleware[]): PermifyClient; export {};