import Operation from "./operation.js";
import Package from "./package.js";
export default class Resource {
    readonly name: string;
    readonly package: Package;
    readonly parent: Resource | null;
    private readonly operations;
    private readonly resources;
    readonly packageUniqueName: string;
    constructor(pkg: Package, name: string, parent?: Resource | null);
    operationByName(name: string): Operation | undefined;
    _addOperation(operation: Operation): void;
    _addResource(resource: Resource): void;
    /**
     * Resource by name returns the resource with the given name
     * or undefined if not found
     * @param name name of the resource
     * @returns
     */
    resourceByName(name: string): Resource | null;
}
