import type { iC6Object } from "../types/ormInterfaces";
type iScopedBinding = {
    Get?: (request?: Record<string, any>) => Promise<any>;
    Put?: (request?: Record<string, any>) => Promise<any>;
    Post?: (request?: Record<string, any>) => Promise<any>;
    Delete?: (request?: Record<string, any>) => Promise<any>;
    [key: string]: any;
};
export type iScopedNamespace = {
    ORM: Record<string, iScopedBinding>;
} & Record<string, iScopedBinding>;
export type iScopedC6Object<RestTableInterfaces extends {
    [key: string]: any;
}> = iC6Object<RestTableInterfaces> & Record<string, iScopedNamespace | any>;
type iDatabaseAwareRuntimeConfig = {
    databases?: Record<string, any>;
};
type iScopedC6ProxyOptions = {
    scopedC6ByDatabase?: Record<string, iC6Object<any>>;
};
export declare const isScopedC6Namespace: (value: unknown) => value is iScopedNamespace;
export declare const getScopedC6Namespace: <RestTableInterfaces extends {
    [key: string]: any;
}>(c6: iScopedC6Object<RestTableInterfaces>, databaseKey: string) => iScopedNamespace;
export declare const createScopedC6Proxy: <RestTableInterfaces extends {
    [key: string]: any;
}>(c6Core: iC6Object<RestTableInterfaces>, globalRestParameters: iDatabaseAwareRuntimeConfig, options?: iScopedC6ProxyOptions) => iScopedC6Object<RestTableInterfaces>;
export {};
