import { GuardianApiResponse, GuardianResponse, GuardianArticle, GuardianSection, GuardianTag, GuardianContentResponse } from '../types/guardian.js';
export declare class GuardianApiError extends Error {
    status: string;
    statusCode?: number | undefined;
    constructor(message: string, status: string, statusCode?: number | undefined);
}
export declare class GuardianClient {
    private readonly baseUrl;
    private readonly apiKey;
    constructor();
    private makeRequest;
    search(params: Record<string, any>): Promise<GuardianApiResponse<GuardianResponse<GuardianArticle>>>;
    getArticle(articleId: string, params?: Record<string, any>): Promise<GuardianApiResponse<GuardianContentResponse>>;
    getSections(): Promise<GuardianApiResponse<GuardianResponse<GuardianSection>>>;
    searchTags(params: Record<string, any>): Promise<GuardianApiResponse<GuardianResponse<GuardianTag>>>;
}
//# sourceMappingURL=guardian-client.d.ts.map