import type { StringKeyOf } from 'type-fest';
/**
 * Arguments that can be passed to the GraphQL Codegen CLI.
 */
export declare type Arguments = {
    /**
     * Path to GraphQL codegen YAML config file, defaults to
     * "codegen.yml" on the current directory.
     */
    config?: string;
    /**
     * Print debug logs to stdout
     */
    debug?: boolean;
    /**
     * Overwrites existing files.
     */
    overwrite?: boolean;
    /**
     * Only print errors
     */
    /**
     * Use profiler to measure performance
     */
    profile?: boolean;
    /**
     * Name of a project in GraphQL Config
     */
    project?: string;
    /**
     * Loads specific require.extensions before running the
     * codegen and reading the configuration.
     */
    require?: string | string[];
    /**
     * Suppresses printing errors
     */
    silent?: boolean;
    /**
     * Output more detailed information about performed tasks
     */
    verbose?: boolean;
    /**
     * Watch for changes and execute generation automatically.
     * You can also specify a glob expression for custom watch list.
     */
    watch?: boolean;
};
/**
 * Arguments in a format accepted by the GraphQL Codegen CLI.
 */
export declare type CliArguments<TArgs extends Arguments = Arguments> = {
    [Arg in StringKeyOf<TArgs> as `--${Arg}`]?: string;
};
/**
 * Get a list of arguments that can be passed to the
 * GraphQL Codegen CLI.
 */
export declare const getCliArguments: (options: Arguments) => CliArguments;
export declare const flatternCliArguments: (args: CliArguments) => string[];
