import { type ResourceReference } from './resource-reference.js';
import { type ResourceName } from './resource-name.js';
export declare abstract class NestedResourceReference<P extends ResourceReference<any>, T extends ResourceName> {
    readonly parentReference: P;
    readonly name: T;
    protected constructor(parentReference: P, name: T);
    /**
     * Compares this instance with another NestedResourceReference.
     * @param other The other NestedResourceReference instance.
     * @returns true if both instances have the same parent reference and name.
     */
    equals(other: NestedResourceReference<P, T>): boolean;
    /**
     * Allows implicit conversion to a string.
     * @returns The nested resource reference as a string.
     */
    toString(): string;
}
