/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
import type fs from 'node:fs';
import url from 'node:url';
import type { NonEmptyArray, Release, ShellCheckArchitecture, ShellCheckPlatform } from "../types";
import { LoggerLevel } from "../logger/LoggerLevel";
/**
 * Configuration.
 */
export type Config = {
    /**
     * Binary path.
     */
    bin: string;
    /**
     * Access permissions.
     */
    mode: fs.Mode;
    /**
     * Download URL.
     */
    downloadURL: url.URL;
    /**
     * GitHub API URL.
     */
    apiURL: url.URL;
    /**
     * Release.
     */
    release: Release;
    /**
     * Supported ShellCheck binaries.
     */
    binaries: Partial<Record<NodeJS.Platform, {
        /**
         * ShellCheck platform.
         */
        platform: ShellCheckPlatform;
        /**
         * ShellCheck architectures.
         */
        architectures: NonEmptyArray<[
            NodeJS.Architecture,
            ShellCheckArchitecture
        ]>;
    }>>;
    /**
     * Logger.
     */
    logger: {
        /**
         * Logger level.
         */
        level: LoggerLevel;
    };
};
/**
 * Configuration.
 */
export declare const config: Config;
