import { IOrganizationResponse, ISearchRequest, ISearchResponse } from './models';
export declare class APIError extends Error {
    constructor(message: string);
}
export declare class Client {
    /**
     * Search for organizations
     *
     * @param params Search parameters
     * @returns
     */
    search(params: ISearchRequest): Promise<ISearchResponse>;
    /**
     * Get an organization by EIN
     *
     * @param ein Employer Identification Number
     * @returns Organization object
     */
    organization(ein: number): Promise<IOrganizationResponse>;
    private validateEIN;
    /**
     * Call a GET to a specific API path
     *
     * @param path API path to fetch
     * @param params Parameters
     * @returns
     */
    private get;
    /**
     * Parse the API response
     *
     * @param response API response
     * @returns
     */
    private parseResponse;
    /**
     * Read chunks from API response
     *
     * @param reader Stream reader
     */
    private readChunks;
    /**
     * Make a request
     *
     * @param method HTTP method to be used
     * @param path URL path to call
     * @param params Parameters
     * @returns
     */
    private request;
    private handleError;
}
