import { Injector } from '@angular/core';
import { Func2 } from '@jscrpt/common';
import { RelationsComponentEndpoints } from '../../services/relationsDebugger/relationsDebugger.interface';
/**
 * Definition of debug data for obtaining endpoints
 */
export interface RelationsDebugData<TRelations = unknown> extends Partial<RelationsComponentEndpoints> {
    /**
     * Function used for obtaining dynamic
     */
    dynamicEndpointsGetter?: Func2<RelationsComponentEndpoints, TRelations, Injector>;
}
/**
 * Gets debug data if defined
 * @param obj - Object to be inspected
 */
export declare function getDebugData(obj: unknown): RelationsDebugData | undefined | null;
/**
 * Marks component as pure relations component, cant be used on component that is also layout component!
 */
export declare function DebugData<TRelations = unknown>(data: RelationsDebugData<TRelations>): ClassDecorator;
//# sourceMappingURL=debugData.decorator.d.ts.map