import { BaseService } from "./base";
import { Author, Work, QueryParams, OpenAlexResponse } from "../types";
export declare class AuthorsService extends BaseService<Author> {
    protected readonly endpoint = "authors";
    /**
     * Get works by a specific author
     */
    getWorks(authorId: string, params?: QueryParams): Promise<OpenAlexResponse<Work>>;
    /**
     * Get author by ORCID
     */
    getByOrcid(orcid: string, params?: Pick<QueryParams, "select" | "mailto">): Promise<Author>;
    /**
     * Search authors by multiple ORCIDs
     */
    getByOrcids(orcids: string[], params?: QueryParams): Promise<OpenAlexResponse<Author>>;
    /**
     * Get authors by institution
     */
    getByInstitution(institutionId: string, params?: QueryParams): Promise<OpenAlexResponse<Author>>;
    /**
     * Get authors by concept (research area)
     */
    getByConcept(conceptId: string, params?: QueryParams): Promise<OpenAlexResponse<Author>>;
    /**
     * Get highly cited authors
     */
    getHighlyCited(params?: QueryParams): Promise<OpenAlexResponse<Author>>;
    /**
     * Get authors with high h-index
     */
    getByHIndex(minHIndex: number, params?: QueryParams): Promise<OpenAlexResponse<Author>>;
    /**
     * Get prolific authors (by works count)
     */
    getProlific(minWorksCount?: number, params?: QueryParams): Promise<OpenAlexResponse<Author>>;
    /**
     * Search for co-authors of a specific author
     */
    getCoAuthors(authorId: string, params?: QueryParams): Promise<OpenAlexResponse<Author>>;
    /**
     * Get authors from a specific country
     */
    getByCountry(countryCode: string, params?: QueryParams): Promise<OpenAlexResponse<Author>>;
}
//# sourceMappingURL=authors.d.ts.map