import type { BaseQueryFormat, BaseQueryResult } from '../../base-query-format';
import { executeConfigQuery } from './config-query-executor';
import { type OutputFormatter } from '../../../util/text/ansi';
import Joi from 'joi';
import type { FlowrConfig } from '../../../config';
import type { DeepPartial } from 'ts-essentials';
import type { ParsedQueryLine, Query } from '../../query';
import type { ReplOutput } from '../../../cli/repl/commands/repl-main';
import type { CommandCompletions } from '../../../cli/repl/core';
export interface ConfigQuery extends BaseQueryFormat {
    readonly type: 'config';
    readonly update?: DeepPartial<FlowrConfig>;
}
export interface ConfigQueryResult extends BaseQueryResult {
    readonly config: FlowrConfig;
}
declare function configReplCompleter(partialLine: readonly string[], _startingNewArg: boolean, config: FlowrConfig): CommandCompletions;
declare function configQueryLineParser(output: ReplOutput, line: readonly string[], _config: FlowrConfig): ParsedQueryLine<'config'>;
export declare const ConfigQueryDefinition: {
    readonly executor: typeof executeConfigQuery;
    readonly asciiSummarizer: (formatter: OutputFormatter, _analyzer: unknown, queryResults: BaseQueryResult, result: string[], queries: readonly Query[]) => true;
    readonly completer: typeof configReplCompleter;
    readonly fromLine: typeof configQueryLineParser;
    readonly schema: Joi.ObjectSchema<any>;
    readonly flattenInvolvedNodes: () => never[];
};
export {};
