import { type Injectable } from '../injectable';
import { type AbstractInterceptor } from './interceptors/abstract.interceptors';
/**
 * Create a new basic proxy which will access properties or methods of the target object and will
 * invoke a specific method on the target object if the method or property is no part of the target object.
 */
export declare class DefaultProxyHandler implements ProxyHandler<any> {
    private readonly excludedProperties;
    /**
     * Implement the get method for the {@link Proxy} class
     *
     * @param {Injectable} obj the target object
     * @param {String} prop the property to access
     * @returns {any} The value of the accessed property or the result of the function execution
     */
    get(obj: Injectable, prop: string): any;
    protected interceptors(): AbstractInterceptor[];
}
