import { R as Repository, f as Constructor, b as Model, W as WeakCache, g as FilledInstallOptions } from './shared/pinia-orm.DkHEBXTz.js';
export { A as AfterHook, h as Attribute, B as BeforeHook, i as BelongsTo, j as BelongsToMany, k as CacheConfig, l as CacheConfigOptions, C as CastAttribute, m as Casts, e as Collection, n as CreatePiniaOrm, D as DataStore, o as DataStoreState, p as Database, q as Dictionary, E as EagerLoad, r as EagerLoadConstraint, s as Element, t as Elements, G as GetElementType, u as Group, v as GroupBy, w as GroupByFields, x as GroupedCollection, H as HasMany, y as HasManyBy, z as HasManyThrough, I as HasOne, J as InheritanceTypes, K as InstallOptions, L as Interpreter, O as Item, Q as MetaValues, V as ModelConfigOptions, M as ModelFields, X as ModelOptions, Y as ModelRegistries, Z as ModelRegistry, _ as ModelSchemas, $ as MorphMany, a0 as MorphOne, a1 as MorphTo, a2 as MorphToMany, c as Mutator, a3 as MutatorFunctions, a4 as Mutators, a5 as NonMethodKeys, a6 as NormalizedData, a7 as Order, a8 as OrderBy, a9 as OrderDirection, aa as PiniaConfigOptions, ab as PiniaOrmPlugin, ac as PiniaOrmPluginContext, P as PrimaryKey, ad as Query, ae as Relation, af as Schema, ag as Schemas, ah as StoreActions, ai as Type, T as TypeDefault, aj as UltimateKeys, ak as Where, al as WhereGroup, am as WherePrimaryClosure, an as WhereSecondaryClosure, ao as WithKeys, ap as createORM, aq as definePiniaOrmPlugin, d as deleteModes, ar as plugins, as as registerPlugins, at as useDataStore, au as useStoreActions } from './shared/pinia-orm.DkHEBXTz.js';
import { Pinia } from 'pinia';
import 'vue';
import '@pinia-orm/normalizr';
import '@/composables';

declare function useRepo<R extends Repository<any>>(repository: R | Constructor<R>, pinia?: Pinia): R;
declare function useRepo<M extends Model>(model: Constructor<M>, pinia?: Pinia): Repository<M>;

declare const CONFIG_DEFAULTS: {
    model: {
        namespace: string;
        withMeta: boolean;
        hidden: string[];
        visible: string[];
    };
    cache: {
        shared: boolean;
        provider: typeof WeakCache;
    };
    pinia: {
        storeType: string;
    };
};
declare const config: FilledInstallOptions & {
    [key: string]: any;
};

export { CONFIG_DEFAULTS, Constructor, FilledInstallOptions, Model, Repository, config, useRepo };
