import { NeverBounceConfig, RequestOptions } from './types.js';
import Account from './Account.js';
import Jobs from './Jobs.js';
import POE from './POE.js';
import Single from './Single.js';
import _Error from './Errors.js';
/**
 * Main NeverBounce API client class
 */
declare class NeverBounce {
    /**
     * Resource instances
     */
    account: Account;
    jobs: Jobs;
    poe: POE;
    single: Single;
    /**
     * Default config values
     */
    static readonly defaultConfig: NeverBounceConfig;
    /**
     * Verification result helpers
     */
    static readonly result: {
        [key: string]: any;
        [key: number]: string;
        valid: number;
        invalid: number;
        disposable: number;
        catchall: number;
        unknown: number;
        flags: import("./types.js").VerificationFlags;
    };
    /**
     * Job helpers
     */
    static readonly job: {
        inputType: {
            remote: string;
            supplied: string;
        };
        status: {
            under_review: string;
            queued: string;
            failed: string;
            complete: string;
            running: string;
            parsing: string;
            waiting: string;
            waiting_analyzed: string;
            uploading: string;
        };
    };
    /**
     * Error types
     */
    static readonly errors: typeof _Error;
    /**
     * Configuration
     */
    private config;
    /**
     * Initializes NeverBounce object
     * @param config Configuration options
     */
    constructor(config?: Partial<NeverBounceConfig>);
    /**
     * Returns config
     */
    getConfig(): NeverBounceConfig;
    /**
     * Make request options
     */
    getRequestOpts(opts?: Partial<RequestOptions>): RequestOptions;
    /**
     * Update configuration
     */
    updateConfig(config: Partial<NeverBounceConfig>): void;
    /**
     * Set api key (convenience method)
     * @param key API key
     */
    setApiKey(key: string): void;
    /**
     * Set api host (convenience method)
     * @param host API host
     */
    setHost(host: string): void;
}
export default NeverBounce;
