/**
 * This file was auto-generated by Fern from our API Definition.
 */
import * as environments from "../../../../../../environments";
import * as core from "../../../../../../core";
import * as Merge from "../../../../..";
export declare namespace Candidates {
    interface Options {
        environment?: core.Supplier<environments.MergeEnvironment | string>;
        apiKey: core.Supplier<core.BearerToken>;
        accountToken?: core.Supplier<string | undefined>;
    }
    interface RequestOptions {
        timeoutInSeconds?: number;
    }
}
export declare class Candidates {
    protected readonly _options: Candidates.Options;
    constructor(_options: Candidates.Options);
    /**
     * Returns a list of `Candidate` objects.
     */
    list(request?: Merge.ats.CandidatesListRequest, requestOptions?: Candidates.RequestOptions): Promise<Merge.ats.PaginatedCandidateList>;
    /**
     * Creates a `Candidate` object with the given values.
     */
    create(request: Merge.ats.CandidateEndpointRequest, requestOptions?: Candidates.RequestOptions): Promise<Merge.ats.CandidateResponse>;
    /**
     * Returns a `Candidate` object with the given `id`.
     */
    retrieve(id: string, request?: Merge.ats.CandidatesRetrieveRequest, requestOptions?: Candidates.RequestOptions): Promise<Merge.ats.Candidate>;
    /**
     * Updates a `Candidate` object with the given `id`.
     */
    partialUpdate(id: string, request: Merge.ats.PatchedCandidateEndpointRequest, requestOptions?: Candidates.RequestOptions): Promise<Merge.ats.CandidateResponse>;
    /**
     * Ignores a specific row based on the `model_id` in the url. These records will have their properties set to null, and will not be updated in future syncs. The "reason" and "message" fields in the request body will be stored for audit purposes.
     */
    ignoreCreate(modelId: string, request: Merge.ats.IgnoreCommonModelRequest, requestOptions?: Candidates.RequestOptions): Promise<void>;
    /**
     * Returns metadata for `Candidate` PATCHs.
     */
    metaPatchRetrieve(id: string, requestOptions?: Candidates.RequestOptions): Promise<Merge.ats.MetaResponse>;
    /**
     * Returns metadata for `Candidate` POSTs.
     */
    metaPostRetrieve(requestOptions?: Candidates.RequestOptions): Promise<Merge.ats.MetaResponse>;
    protected _getAuthorizationHeader(): Promise<string>;
}
