import type { NamedBase } from "../interfaces/Utility/ApiResourceList.js";
import type { NamedApiResourceList } from "../interfaces/Utility/NamedApiResourceList.js";
import { Endpoint, type EndpointParam } from "./Endpoint.js";
export type NamedEndpointParam = EndpointParam | string;
export declare class NamedEndpoint<T extends NamedBase> extends Endpoint<T> {
    protected _list?: NamedApiResourceList<T>;
    private readonly _nameMap;
    constructor(resource: string);
    get(param: NamedEndpointParam): T | undefined;
    fetch(param: NamedEndpointParam, cache?: boolean): Promise<T>;
    resolve(param: NamedEndpointParam): Promise<T>;
    list(limit?: number, offset?: number): Promise<NamedApiResourceList<T>>;
    listAll(cache?: boolean): Promise<NamedApiResourceList<T>>;
    protected _cache(data: T): void;
    protected _isT(data: any): data is T;
    protected _isListT(data: any): data is NamedApiResourceList<T>;
}
