import { BaseService } from "./base";
import { Institution, Work, Author, QueryParams, OpenAlexResponse } from "../types";
export declare class InstitutionsService extends BaseService<Institution> {
    protected readonly endpoint = "institutions";
    /**
     * Get works from a specific institution
     */
    getWorks(institutionId: string, params?: QueryParams): Promise<OpenAlexResponse<Work>>;
    /**
     * Get authors from a specific institution
     */
    getAuthors(institutionId: string, params?: QueryParams): Promise<OpenAlexResponse<Author>>;
    /**
     * Get institution by ROR ID
     */
    getByRor(ror: string, params?: Pick<QueryParams, "select" | "mailto">): Promise<Institution>;
    /**
     * Search institutions by multiple RORs
     */
    getByRors(rors: string[], params?: QueryParams): Promise<OpenAlexResponse<Institution>>;
    /**
     * Get institutions by country
     */
    getByCountry(countryCode: string, params?: QueryParams): Promise<OpenAlexResponse<Institution>>;
    /**
     * Get institutions by type
     */
    getByType(type: string, params?: QueryParams): Promise<OpenAlexResponse<Institution>>;
    /**
     * Get top institutions by works count
     */
    getTopByWorks(params?: QueryParams): Promise<OpenAlexResponse<Institution>>;
    /**
     * Get top institutions by citations
     */
    getTopByCitations(params?: QueryParams): Promise<OpenAlexResponse<Institution>>;
    /**
     * Get institutions in a specific geographic area
     */
    getByLocation(latitude: number, longitude: number, radiusKm?: number, params?: QueryParams): Promise<OpenAlexResponse<Institution>>;
    /**
     * Get university-type institutions
     */
    getUniversities(params?: QueryParams): Promise<OpenAlexResponse<Institution>>;
    /**
     * Get government institutions
     */
    getGovernmentInstitutions(params?: QueryParams): Promise<OpenAlexResponse<Institution>>;
    /**
     * Get healthcare institutions
     */
    getHealthcareInstitutions(params?: QueryParams): Promise<OpenAlexResponse<Institution>>;
    /**
     * Get company/corporate institutions
     */
    getCompanies(params?: QueryParams): Promise<OpenAlexResponse<Institution>>;
    /**
     * Get associated institutions
     */
    getAssociated(institutionId: string, params?: QueryParams): Promise<OpenAlexResponse<Institution>>;
    /**
     * Get institutions by concept (research area)
     */
    getByConcept(conceptId: string, params?: QueryParams): Promise<OpenAlexResponse<Institution>>;
}
//# sourceMappingURL=institutions.d.ts.map