import { z } from 'zod';
export declare const ConfigSchema: z.ZodObject<{
    globPattern: z.ZodDefault<z.ZodString>;
    highlightParsingErrors: z.ZodDefault<z.ZodBoolean>;
    explainshellEndpoint: z.ZodDefault<z.ZodString>;
    shellcheckPath: z.ZodDefault<z.ZodString>;
    shellcheckArguments: z.ZodDefault<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], unknown>>;
    backgroundAnalysisMaxFiles: z.ZodDefault<z.ZodNumber>;
}, "strict", z.ZodTypeAny, {
    globPattern: string;
    backgroundAnalysisMaxFiles: number;
    highlightParsingErrors: boolean;
    explainshellEndpoint: string;
    shellcheckPath: string;
    shellcheckArguments: string[];
}, {
    globPattern?: string | undefined;
    backgroundAnalysisMaxFiles?: number | undefined;
    highlightParsingErrors?: boolean | undefined;
    explainshellEndpoint?: string | undefined;
    shellcheckPath?: string | undefined;
    shellcheckArguments?: unknown;
}>;
export type Config = z.infer<typeof ConfigSchema>;
export declare function getConfigFromEnvironmentVariables(): {
    config: z.infer<typeof ConfigSchema>;
    environmentVariablesUsed: string[];
};
export declare function getDefaultConfiguration(): z.infer<typeof ConfigSchema>;
