import { z } from 'zod';
export declare const SccFileSchema: z.ZodObject<{
    Filename: z.ZodOptional<z.ZodString>;
    Location: z.ZodOptional<z.ZodString>;
    Lines: z.ZodNumber;
    Blank: z.ZodNumber;
    Comment: z.ZodNumber;
    Code: z.ZodNumber;
    Complexity: z.ZodOptional<z.ZodNumber>;
}, z.core.$loose>;
export type SccFile = z.infer<typeof SccFileSchema>;
export declare const SccLanguageSchema: z.ZodObject<{
    Name: z.ZodString;
    Count: z.ZodNumber;
    Lines: z.ZodNumber;
    Blank: z.ZodNumber;
    Comment: z.ZodNumber;
    Code: z.ZodNumber;
    Complexity: z.ZodOptional<z.ZodNumber>;
    Files: z.ZodOptional<z.ZodArray<z.ZodObject<{
        Filename: z.ZodOptional<z.ZodString>;
        Location: z.ZodOptional<z.ZodString>;
        Lines: z.ZodNumber;
        Blank: z.ZodNumber;
        Comment: z.ZodNumber;
        Code: z.ZodNumber;
        Complexity: z.ZodOptional<z.ZodNumber>;
    }, z.core.$loose>>>;
}, z.core.$loose>;
export type SccLanguage = z.infer<typeof SccLanguageSchema>;
export declare const RunSccOptionsSchema: z.ZodObject<{
    byFile: z.ZodOptional<z.ZodBoolean>;
    excludeDir: z.ZodOptional<z.ZodArray<z.ZodString>>;
    sort: z.ZodOptional<z.ZodString>;
    ci: z.ZodOptional<z.ZodBoolean>;
    noGitignore: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export type RunSccOptions = z.infer<typeof RunSccOptionsSchema>;
export declare function checkScc(): Promise<string>;
export declare function runScc(sccBinary: string | null, directories: string[], options?: RunSccOptions): Promise<SccLanguage[]>;
