import { Section, TodoistApi } from '@doist/todoist-sdk';
import { z } from 'zod';
import { mapTask } from '../tool-helpers.js';
type ProjectStructure = {
    id: string;
    name: string;
    parentId?: string;
    folderId?: string;
    childOrder: number;
    sections: Section[];
    children: ProjectStructure[];
};
type AccountOverviewStructured = Record<string, unknown> & {
    type: 'account_overview';
    inbox: {
        id: string;
        name: string;
        sections: Section[];
    } | null;
    projects: ProjectStructure[];
    totalProjects: number;
    totalSections: number;
    hasNestedProjects: boolean;
};
type ProjectOverviewStructured = Record<string, unknown> & {
    type: 'project_overview';
    project: {
        id: string;
        name: string;
    };
    sections: Section[];
    tasks: Array<ReturnType<typeof mapTask> & {
        children: never[];
    }>;
    stats: {
        totalTasks: number;
        totalSections: number;
        tasksWithoutSection: number;
    };
};
declare const getOverview: {
    name: "get-overview";
    description: string;
    parameters: {
        projectId: z.ZodOptional<z.ZodString>;
    };
    outputSchema: {
        type: z.ZodEnum<{
            account_overview: "account_overview";
            project_overview: "project_overview";
        }>;
        totalProjects: z.ZodOptional<z.ZodNumber>;
        totalTasks: z.ZodOptional<z.ZodNumber>;
        totalSections: z.ZodOptional<z.ZodNumber>;
        tasksWithoutSection: z.ZodOptional<z.ZodNumber>;
        projectInfo: z.ZodOptional<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
            isShared: z.ZodBoolean;
            isFavorite: z.ZodBoolean;
        }, z.core.$strip>>;
        hasNestedProjects: z.ZodOptional<z.ZodBoolean>;
        inbox: z.ZodOptional<z.ZodNullable<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
            sections: z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                name: z.ZodString;
            }, z.core.$strip>>;
        }, z.core.$strip>>>;
        projects: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodType<{
            id: string;
            name: string;
            parentId?: string;
            folderId?: string;
            childOrder: number;
            sections: {
                id: string;
                name: string;
            }[];
            children: unknown[];
        }, unknown, z.core.$ZodTypeInternals<{
            id: string;
            name: string;
            parentId?: string;
            folderId?: string;
            childOrder: number;
            sections: {
                id: string;
                name: string;
            }[];
            children: unknown[];
        }, unknown>>>>>;
        project: z.ZodOptional<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
        }, z.core.$strip>>;
        sections: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
        }, z.core.$strip>>>;
        tasks: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        stats: z.ZodOptional<z.ZodObject<{
            totalTasks: z.ZodNumber;
            totalSections: z.ZodNumber;
            tasksWithoutSection: z.ZodNumber;
        }, z.core.$strip>>;
    };
    annotations: {
        readOnlyHint: true;
        destructiveHint: false;
        idempotentHint: true;
    };
    execute(args: {
        projectId?: string | undefined;
    }, client: TodoistApi): Promise<{
        textContent: string;
        structuredContent: AccountOverviewStructured | ProjectOverviewStructured;
    }>;
};
export { type AccountOverviewStructured, getOverview, type ProjectOverviewStructured };
//# sourceMappingURL=get-overview.d.ts.map