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