import { Extension } from './extension';
type AsMockedPropertyHandler<TMockedPropertyHandler, TMock, TPropName extends keyof TMock> = (prop: TMock[TPropName], mock: TMock, propName: TPropName) => TMockedPropertyHandler;
export declare class ExtensionHandler<TMock> {
    private readonly _mock;
    constructor(mock: TMock);
    get<TPropName extends keyof TMock, TMockedPropertyHandler>(propertyName: TPropName, asMockedPropertyHandler: AsMockedPropertyHandler<TMockedPropertyHandler, TMock, TPropName>): TMockedPropertyHandler;
    get<TMockedPropertyHandler>(extension: Extension<TMock, TMockedPropertyHandler>): TMockedPropertyHandler;
}
export {};
