import { ProviderClass, ProviderConfig, ProviderInterface } from './provider';
export interface GeckoDriverProviderConfig extends ProviderConfig {
    oauthToken?: string;
}
export declare class GeckoDriver extends ProviderClass implements ProviderInterface {
    cacheFileName: string;
    configFileName: string;
    ignoreSSL: boolean;
    oauthToken: string;
    osType: string;
    osArch: string;
    outDir: string;
    proxy: string;
    requestUrl: string;
    seleniumFlag: string;
    version: string;
    maxVersion: string;
    constructor(config?: GeckoDriverProviderConfig);
    /**
     * Should update the cache and download, find the version to download,
     * then download that binary.
     * @param version Optional to provide the version number or latest.
     * @param maxVersion Optional to provide the max version.
     */
    updateBinary(version?: string, maxVersion?: string): Promise<void>;
    /**
     * Gets the binary file path.
     * @param version Optional to provide the version number or latest.
     */
    getBinaryPath(version?: string): string | null;
    /**
     * Gets a comma delimited list of versions downloaded. Also has the "latest"
     * downloaded noted.
     */
    getStatus(): string | null;
    /**
     * Get a line delimited list of files removed.
     */
    cleanFiles(): string;
}
/**
 * Helps translate the os type and arch to the download name associated
 * with composing the download link.
 * @param ostype The operating stystem type.
 * @param osarch The chip architecture.
 * @returns The download name associated with composing the download link.
 */
export declare function osHelper(ostype: string, osarch: string): string;
/**
 * Matches the installed binaries depending on the operating system.
 * @param ostype The operating stystem type.
 */
export declare function matchBinaries(ostype: string): RegExp | null;
