import { ONSApiClient, ONSDatasetList, ONSDataset, ONSObservationResponse } from '../api/ons-client.js';
export interface DatasetListOptions {
    limit: number;
    offset: number;
}
export interface LatestDataOptions {
    geography?: string;
    time_period?: string;
}
export declare class ONSDatasetService {
    private apiClient;
    constructor(apiClient: ONSApiClient);
    /**
     * List datasets with pagination
     */
    listDatasets(options: DatasetListOptions): Promise<ONSDatasetList>;
    /**
     * Get a specific dataset by ID
     */
    getDataset(datasetId: string): Promise<ONSDataset>;
    /**
     * Search datasets by query
     */
    searchDatasets(query: string, limit?: number): Promise<ONSDatasetList>;
    /**
     * Get observations with dimension filters
     */
    getObservations(datasetId: string, edition: string | undefined, version: string | undefined, dimensions: Record<string, string>): Promise<ONSObservationResponse>;
    /**
     * Get the latest available data for a dataset with common filters
     */
    getLatestData(datasetId: string, geography?: string, timePeriod?: string): Promise<any>;
    /**
     * Get popular datasets with metadata
     */
    getPopularDatasets(): Promise<ONSDataset[]>;
    /**
     * Get dataset dimensions and their options
     */
    getDatasetDimensions(datasetId: string): Promise<any>;
    /**
     * Get time series data for a specific geography
     */
    getTimeSeriesData(datasetId: string, geography?: string): Promise<any>;
    /**
     * Get regional comparison data
     */
    getRegionalData(datasetId: string, timePeriod?: string): Promise<any>;
    /**
     * Health check for the service
     */
    healthCheck(): Promise<{
        status: string;
        api_accessible: boolean;
    }>;
}
//# sourceMappingURL=dataset-service.d.ts.map