import { type KyInstance } from 'ky'; import type { Country, SortBy, SortDir } from './constants.js'; import type { components } from './schema.js'; type Schemas = components['schemas']; export type Job = Schemas['Job']; export type JobSearchResults = Schemas['JobSearchResults']; export type Category = Schemas['Category']; export type Categories = Schemas['Categories']; export type SalaryHistogram = Schemas['SalaryHistogram']; export type TopCompanies = Schemas['TopCompanies']; export type JobGeoData = Schemas['JobGeoData']; export type HistoricalSalary = Schemas['HistoricalSalary']; export type Version = Schemas['Version']; export type Location = Schemas['Location']; export type Company = Schemas['Company']; export interface AdzunaClientOptions { appId: string; appKey: string; baseUrl?: string; retry?: number; timeout?: number; fetch?: typeof fetch; } interface LocationFields { location0?: string; location1?: string; location2?: string; location3?: string; location4?: string; location5?: string; location6?: string; location7?: string; } export interface SearchOptions extends LocationFields { country: Country; page: number; resultsPerPage?: number; what?: string; whatAnd?: string; whatPhrase?: string; whatOr?: string; whatExclude?: string; titleOnly?: string; where?: string; distance?: number; maxDaysOld?: number; category?: string; sortDir?: SortDir; sortBy?: SortBy; salaryMin?: number; salaryMax?: number; salaryIncludeUnknown?: boolean; fullTime?: boolean; partTime?: boolean; contract?: boolean; permanent?: boolean; company?: string; } export interface CategoriesOptions { country: Country; } export interface HistogramOptions extends LocationFields { country: Country; what?: string; category?: string; } export interface TopCompaniesOptions extends LocationFields { country: Country; what?: string; category?: string; } export interface GeodataOptions extends LocationFields { country: Country; category?: string; } export interface HistoryOptions extends LocationFields { country: Country; category?: string; months?: number; } export declare class AdzunaClient { readonly jobs: JobsApi; private readonly http; constructor(options: AdzunaClientOptions); version(): Promise; } export declare class JobsApi { private readonly http; constructor(http: KyInstance); search(options: SearchOptions): Promise; categories(options: CategoriesOptions): Promise; histogram(options: HistogramOptions): Promise; topCompanies(options: TopCompaniesOptions): Promise; geodata(options: GeodataOptions): Promise; history(options: HistoryOptions): Promise; } export {}; //# sourceMappingURL=client.d.ts.map