import { CommonBananaReporterObj, IntegrationBase } from './base';
import { BananaConfig } from '../core';
import { z } from 'zod';
export type GitCliConfig = z.infer<typeof GitCliConfig>;
export declare const GitCliConfig: z.ZodObject<{
    path: z.ZodEffects<z.ZodString, string, string>;
    authorUsername: z.ZodString;
    from: z.ZodOptional<z.ZodString>;
    to: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    path: string;
    authorUsername: string;
    from?: string | undefined;
    to?: string | undefined;
}, {
    path: string;
    authorUsername: string;
    from?: string | undefined;
    to?: string | undefined;
}>;
interface GitCliLog {
    commit: string;
    commitMessage: string;
    author: string;
    dateUnix: number;
    projectName?: string;
    branch: string;
}
export declare class GitCliIntegration extends IntegrationBase {
    static type: "git-cli";
    private config;
    private dateRange;
    private bananaReporterConfig;
    constructor(_rawConfig: unknown, bananaReporterConfig: BananaConfig);
    fetchData(): Promise<CommonBananaReporterObj[]>;
    toBananaReporterObj(rawData: GitCliLog, _index?: number): CommonBananaReporterObj;
}
export {};
