import { ClientBase } from "../../client-base.js";
import type { ClientConfig } from "../../config.js";
import { Searchable } from "../search/mixin.js";
import type { AuthorParameters, AuthorsParameters, LicensesParameters, PackagesParameters, PkgParameters, TopicParameters, TopicsParameters } from "./parameters.js";
import type { ApiVersion, Author, License, Package, PackageSummary, Topic } from "./responses.js";
export declare class Client extends ClientBase {
    constructor(config?: Readonly<ClientConfig>);
    authors(params?: Readonly<AuthorsParameters>, config?: Readonly<ClientConfig>): Promise<Array<Author>>;
    author(key: string, params?: Readonly<AuthorParameters>, config?: Readonly<ClientConfig>): Promise<Author>;
    topics(params?: Readonly<TopicsParameters>, config?: Readonly<ClientConfig>): Promise<Array<Topic>>;
    topic(key: string, params?: Readonly<TopicParameters>, config?: Readonly<ClientConfig>): Promise<Topic>;
    packages(params?: Readonly<PackagesParameters>, config?: Readonly<ClientConfig>): Promise<Array<PackageSummary>>;
    pkg(key: string, params?: Readonly<PkgParameters>, config?: Readonly<ClientConfig>): Promise<Package>;
    licenses(params?: Readonly<LicensesParameters>, config?: Readonly<ClientConfig>): Promise<Array<License>>;
    version(config?: Readonly<ClientConfig>): Promise<ApiVersion>;
}
export interface Client extends Searchable {
}
