import { CommonBananaReporterObj, IntegrationBase } from './base';
import { BananaConfig } from '../core';
import { z } from 'zod';
import { Task } from '@lggruspe/todo-txt-parser';
export type TodoTxtConfig = z.infer<typeof TodoTxtConfig>;
export declare const TodoTxtConfig: z.ZodObject<{
    file: z.ZodEffects<z.ZodDefault<z.ZodString>, string, string | undefined>;
    filters: z.ZodOptional<z.ZodArray<z.ZodObject<{
        on: z.ZodString;
        regex: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        on: string;
        regex: string;
    }, {
        on: string;
        regex: string;
    }>, "atleastone">>;
    from: z.ZodOptional<z.ZodString>;
    to: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    file: string;
    filters?: [{
        on: string;
        regex: string;
    }, ...{
        on: string;
        regex: string;
    }[]] | undefined;
    from?: string | undefined;
    to?: string | undefined;
}, {
    file?: string | undefined;
    filters?: [{
        on: string;
        regex: string;
    }, ...{
        on: string;
        regex: string;
    }[]] | undefined;
    from?: string | undefined;
    to?: string | undefined;
}>;
export declare class TodoTxtIntegration extends IntegrationBase {
    static type: "todo.txt";
    private config;
    private dateRange;
    private bananaReporterConfig;
    constructor(_rawConfig: unknown, bananaReporterConfig: BananaConfig);
    fetchData(): Promise<CommonBananaReporterObj[]>;
    toBananaReporterObj(rawData: Task, index?: number): CommonBananaReporterObj;
}
