import type { components, operations } from './schema.js';
import type { RealmGeneratedModelMap } from './model-map.js';
import type { RealmGeneratedServiceRegistry } from './service-registry.js';
export type RealmModels = components['schemas'] & RealmGeneratedModelMap;
export type RealmModelName = keyof RealmModels & string;
export type RealmModel<Name extends RealmModelName> = RealmModels[Name];
export type RealmOperations = operations;
export type RealmOperationName = keyof RealmOperations & string;
export type RealmOperation<Name extends RealmOperationName> = RealmOperations[Name];
export type RealmServiceName = keyof RealmGeneratedServiceRegistry & string;
export type RealmServiceMethod<S extends RealmServiceName> = keyof RealmGeneratedServiceRegistry[S] & string;
type RealmServiceInvoker<S extends RealmServiceName, M extends RealmServiceMethod<S>> = RealmGeneratedServiceRegistry[S][M] extends (...args: infer Args) => infer Result ? {
    args: Args;
    result: Result;
} : never;
export type RealmServiceArgs<S extends RealmServiceName, M extends RealmServiceMethod<S>> = RealmServiceInvoker<S, M>['args'];
export type RealmServiceResult<S extends RealmServiceName, M extends RealmServiceMethod<S>> = Awaited<RealmServiceInvoker<S, M>['result']>;
export {};
//# sourceMappingURL=type-helpers.d.ts.map