import { z } from "zod";
export declare const ReportsArgumentsSchema: z.ZodObject<{
    filter: z.ZodOptional<z.ZodString>;
    pageToken: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    filter?: string | undefined;
    pageToken?: string | undefined;
}, {
    filter?: string | undefined;
    pageToken?: string | undefined;
}>;
export declare const RunQueryArgumentsSchema: z.ZodObject<{
    config: z.ZodRecord<z.ZodString, z.ZodAny>;
}, "strip", z.ZodTypeAny, {
    config: Record<string, any>;
}, {
    config: Record<string, any>;
}>;
export declare const GetReportResultsArgumentsSchema: z.ZodObject<{
    id: z.ZodString;
}, "strip", z.ZodTypeAny, {
    id: string;
}, {
    id: string;
}>;
export interface Report {
    id: string;
    reportName: string;
    owner: string;
    type: string;
    createTime: number;
    updateTime: number;
    urlUI: string;
}
export interface ReportsResponse {
    pageToken: any;
    rowCount: number;
    reports: Report[];
}
export interface QueryResult {
    schema: Array<{
        name: string;
        type: string;
    }>;
    rows: Array<Array<any>>;
    cacheHit: boolean;
}
export interface QueryResponse {
    result: QueryResult;
    error?: string;
}
export interface ReportResultSchema {
    name: string;
    type: string;
}
export interface ReportResult {
    schema: ReportResultSchema[];
    mlFeatures?: string[];
    rows: Array<Array<any>>;
    forecastRows?: Array<Array<any>>;
}
export interface GetReportResultsResponse {
    id: string;
    reportName: string;
    owner: string;
    type: string;
    createTime: number;
    updateTime: number;
    urlUI: string;
    result: ReportResult;
}
export declare const reportsTool: {
    name: string;
    description: string;
    inputSchema: {
        type: string;
        properties: {
            filter: {
                type: string;
                description: string;
            };
            pageToken: {
                type: string;
                description: string;
            };
        };
    };
};
export declare const runQueryTool: {
    name: string;
    description: string;
    inputSchema: {
        type: string;
        properties: {
            config: {
                type: string;
                description: string;
                properties: {
                    metric: {
                        type: string;
                        description: string;
                        properties: {
                            type: {
                                type: string;
                                enum: string[];
                            };
                            value: {
                                type: string;
                                description: string;
                            };
                        };
                    };
                    metricFilter: {
                        type: string;
                        description: string;
                        properties: {
                            metric: {
                                type: string;
                                description: string;
                                properties: {
                                    type: {
                                        type: string;
                                        enum: string[];
                                    };
                                    value: {
                                        type: string;
                                    };
                                };
                            };
                            operator: {
                                type: string;
                                enum: string[];
                                description: string;
                            };
                            values: {
                                type: string;
                                items: {
                                    type: string;
                                };
                                description: string;
                            };
                        };
                    };
                    aggregation: {
                        type: string;
                        enum: string[];
                        description: string;
                    };
                    timeInterval: {
                        type: string;
                        enum: string[];
                        description: string;
                    };
                    dimensions: {
                        type: string;
                        description: string;
                        items: {
                            type: string;
                            properties: {
                                id: {
                                    type: string;
                                };
                                type: {
                                    type: string;
                                };
                            };
                        };
                    };
                    timeRange: {
                        type: string;
                        description: string;
                        properties: {
                            amount: {
                                type: string;
                            };
                            includeCurrent: {
                                type: string;
                            };
                            mode: {
                                type: string;
                                enum: string[];
                            };
                            unit: {
                                type: string;
                                enum: string[];
                            };
                        };
                    };
                    includePromotionalCredits: {
                        type: string;
                        description: string;
                    };
                    includeSubtotals: {
                        type: string;
                        description: string;
                    };
                    filters: {
                        type: string;
                        description: string;
                        items: {
                            type: string;
                            properties: {
                                id: {
                                    type: string;
                                    description: string;
                                };
                                type: {
                                    type: string;
                                    enum: string[];
                                };
                                inverse: {
                                    type: string;
                                    description: string;
                                };
                                values: {
                                    type: string;
                                    items: {
                                        type: string;
                                    };
                                    description: string;
                                };
                            };
                        };
                    };
                    group: {
                        type: string;
                        description: string;
                        items: {
                            type: string;
                            properties: {
                                id: {
                                    type: string;
                                };
                                type: {
                                    type: string;
                                };
                                limit: {
                                    type: string;
                                    properties: {
                                        metric: {
                                            type: string;
                                            properties: {
                                                type: {
                                                    type: string;
                                                };
                                                value: {
                                                    type: string;
                                                };
                                            };
                                        };
                                        sort: {
                                            type: string;
                                        };
                                        value: {
                                            type: string;
                                        };
                                    };
                                };
                            };
                        };
                    };
                    layout: {
                        type: string;
                        enum: string[];
                        description: string;
                    };
                    displayValues: {
                        type: string;
                        enum: string[];
                        description: string;
                    };
                    currency: {
                        type: string;
                        description: string;
                    };
                    dataSource: {
                        type: string;
                        enum: string[];
                        description: string;
                    };
                    splits: {
                        type: string;
                        description: string;
                        items: {
                            type: string;
                            properties: {
                                id: {
                                    type: string;
                                };
                                type: {
                                    type: string;
                                };
                                includeOrigin: {
                                    type: string;
                                };
                                mode: {
                                    type: string;
                                    enum: string[];
                                };
                                targets: {
                                    type: string;
                                    items: {
                                        type: string;
                                        properties: {
                                            id: {
                                                type: string;
                                            };
                                            type: {
                                                type: string;
                                            };
                                            value: {
                                                type: string;
                                            };
                                        };
                                    };
                                };
                            };
                        };
                    };
                    customTimeRange: {
                        type: string;
                        description: string;
                        properties: {
                            from: {
                                type: string;
                                format: string;
                                description: string;
                            };
                            to: {
                                type: string;
                                format: string;
                                description: string;
                            };
                        };
                    };
                };
            };
        };
        required: string[];
    };
};
export declare const getReportResultsTool: {
    name: string;
    description: string;
    inputSchema: {
        type: string;
        properties: {
            id: {
                type: string;
                description: string;
            };
        };
        required: string[];
    };
};
export declare function formatReport(report: Report): string;
export declare function formatQueryResult(queryResult: QueryResult): string;
export declare function handleReportsRequest(args: any, token: string): Promise<{
    content: {
        type: string;
        text: string;
    }[];
}>;
export declare function handleRunQueryRequest(args: any, token: string): Promise<{
    content: {
        type: string;
        text: string;
    }[];
}>;
export declare function formatReportResults(report: GetReportResultsResponse): string;
export declare function handleGetReportResultsRequest(args: any, token: string): Promise<{
    content: {
        type: string;
        text: string;
    }[];
}>;
