import { Logger } from '../services/logger.js';
export interface GreenhouseClientConfig {
    gREENHOUSEAPIKEY?: string;
    gREENHOUSEEMAIL?: string;
    timeout?: number;
    rateLimit?: number;
    authToken?: string;
    logger?: Logger;
}
export declare class GreenhouseClient {
    private httpClient;
    private config;
    private sessionId;
    private logger;
    constructor(config: GreenhouseClientConfig);
    private setupRateLimit;
    private resolveBaseUrl;
    private getAuthHeaders;
    /**
     * Initialize the client (for OAuth clients that need initialization)
     */
    initialize(): Promise<void>;
    /**
     * Get the session ID for this client instance
     */
    getSessionId(): string;
    /**
     * Make an authenticated request with proper headers
     */
    private makeAuthenticatedRequest;
    private buildPath;
    listApplications(params: any): Promise<any>;
    getApplication(params: any): Promise<any>;
    createApplication(params: any): Promise<any>;
    updateApplication(params: any): Promise<any>;
    moveApplication(params: any): Promise<any>;
    transferApplication(params: any): Promise<any>;
    rejectApplication(params: any): Promise<any>;
    hireApplication(params: any): Promise<any>;
    convertProspect(params: any): Promise<any>;
    listCandidates(params: any): Promise<any>;
    getCandidate(params: any): Promise<any>;
    createCandidate(params: any): Promise<any>;
    updateCandidate(params: any): Promise<any>;
    deleteCandidate(params: any): Promise<any>;
    listJobs(params: any): Promise<any>;
    getJob(params: any): Promise<any>;
    createJob(params: any): Promise<any>;
    updateJob(params: any): Promise<any>;
    getJobPost(params: any): Promise<any>;
    listJobStages(params: any): Promise<any>;
    getJobStage(params: any): Promise<any>;
    listScheduledInterviews(params: any): Promise<any>;
    getScheduledInterview(params: any): Promise<any>;
    createScheduledInterview(params: any): Promise<any>;
    updateScheduledInterview(params: any): Promise<any>;
    deleteScheduledInterview(params: any): Promise<any>;
    getApplicationInterviews(params: any): Promise<any>;
    listOffers(params: any): Promise<any>;
    getOffer(params: any): Promise<any>;
    getCurrentOffer(params: any): Promise<any>;
    listScorecards(params: any): Promise<any>;
    getScorecard(params: any): Promise<any>;
    listUsers(params: any): Promise<any>;
    getUser(params: any): Promise<any>;
    createUser(params: any): Promise<any>;
    listDepartments(params: any): Promise<any>;
    getDepartment(params: any): Promise<any>;
    listOffices(params: any): Promise<any>;
    getOffice(params: any): Promise<any>;
    getActivityFeed(params: any): Promise<any>;
}
//# sourceMappingURL=greenhouse-client.d.ts.map