import { ReadTableToolParams, CreateEntityToolParams, UpdateEntityToolParams, DeleteEntityToolParams, BatchCreateEntitiesParams, BatchUpdateEntitiesParams, BatchDeleteEntitiesParams, CreateTableParams, DeleteTableParams, QueryTableAdvancedParams } from "../types.js";
export declare class AzureTableTools {
    private tableServiceClient;
    private connectionString;
    private accountName;
    constructor(connectionString?: string, accountName?: string);
    readTable(params: ReadTableToolParams): Promise<{
        success: boolean;
        data: any[];
        count: number;
        tableName: string;
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        tableName: string;
        data?: undefined;
        count?: undefined;
    }>;
    private cleanEntity;
    listTables(): Promise<{
        success: boolean;
        data: any[];
        count: number;
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        data?: undefined;
        count?: undefined;
    }>;
    private getTableClient;
    createEntity(params: CreateEntityToolParams): Promise<{
        success: boolean;
        data: {
            partitionKey: string;
            rowKey: string;
            message: string;
            entitySize: number;
            schemaValidation: {
                conformsToSchema: boolean;
                warnings: any[] | string[];
                errors: string[];
            };
        };
        tableName: string;
        error?: undefined;
        errorType?: undefined;
    } | {
        success: boolean;
        error: string;
        tableName: string;
        errorType: string;
        data?: undefined;
    } | {
        success: boolean;
        error: string;
        tableName: string;
        data?: undefined;
        errorType?: undefined;
    }>;
    updateEntity(params: UpdateEntityToolParams): Promise<{
        success: boolean;
        data: {
            partitionKey: string;
            rowKey: string;
            mode: "merge" | "replace";
            message: string;
            schemaValidation: {
                conformsToSchema: boolean;
                warnings: any[] | string[];
                errors: string[];
            };
        };
        tableName: string;
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        tableName: string;
        data?: undefined;
    }>;
    deleteEntity(params: DeleteEntityToolParams): Promise<{
        success: boolean;
        data: {
            partitionKey: string;
            rowKey: string;
            message: string;
        };
        tableName: string;
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        tableName: string;
        data?: undefined;
    }>;
    inferTableSchema(tableName: string, sampleSize?: number): Promise<{
        success: boolean;
        data: {
            isEmpty: boolean;
            message: string;
            suggestedSchema: {};
            sampleSize?: undefined;
            schema?: undefined;
            commonProperties?: undefined;
            optionalProperties?: undefined;
            typeVariations?: undefined;
            examples?: undefined;
        };
        tableName: string;
        error?: undefined;
    } | {
        success: boolean;
        data: {
            isEmpty: boolean;
            sampleSize: number;
            schema: {
                [key: string]: any;
            };
            commonProperties: string[];
            optionalProperties: string[];
            typeVariations: {
                [key: string]: string[];
            };
            examples: any[];
            message?: undefined;
            suggestedSchema?: undefined;
        };
        tableName: string;
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        tableName: string;
        data?: undefined;
    }>;
    private analyzeEntitySchema;
    private getValueType;
    validateEntityAgainstSchema(tableName: string, entity: any): Promise<{
        success: boolean;
        message: string;
        warnings: any[];
        errors?: undefined;
        schemaInfo?: undefined;
    } | {
        success: boolean;
        message: string;
        errors: string[];
        warnings: string[];
        schemaInfo: {
            totalProperties: number;
            requiredProperties: number;
            optionalProperties: number;
        };
    }>;
    batchCreateEntities(params: BatchCreateEntitiesParams): Promise<{
        success: boolean;
        data: {
            totalEntities: number;
            successful: any;
            failed: any;
            partitions: number;
            details: any[];
        };
        tableName: string;
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        tableName: string;
        data?: undefined;
    }>;
    batchUpdateEntities(params: BatchUpdateEntitiesParams): Promise<{
        success: boolean;
        data: {
            totalEntities: number;
            successful: any;
            failed: any;
            partitions: number;
            details: any[];
        };
        tableName: string;
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        tableName: string;
        data?: undefined;
    }>;
    batchDeleteEntities(params: BatchDeleteEntitiesParams): Promise<{
        success: boolean;
        data: {
            totalEntities: number;
            successful: any;
            failed: any;
            partitions: number;
            details: any[];
        };
        tableName: string;
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        tableName: string;
        data?: undefined;
    }>;
    createTable(params: CreateTableParams): Promise<{
        success: boolean;
        error: string;
        tableName: string;
        errorType: string;
        data?: undefined;
    } | {
        success: boolean;
        data: {
            tableName: string;
            message: string;
            created: string;
        };
        tableName: string;
        error?: undefined;
        errorType?: undefined;
    } | {
        success: boolean;
        error: string;
        tableName: string;
        errorType?: undefined;
        data?: undefined;
    }>;
    deleteTable(params: DeleteTableParams): Promise<{
        success: boolean;
        error: string;
        tableName: string;
        errorType: string;
        data?: undefined;
    } | {
        success: boolean;
        data: {
            tableName: string;
            message: string;
            deleted: string;
        };
        tableName: string;
        error?: undefined;
        errorType?: undefined;
    } | {
        success: boolean;
        error: string;
        tableName: string;
        errorType?: undefined;
        data?: undefined;
    }>;
    queryTableAdvanced(params: QueryTableAdvancedParams): Promise<{
        success: boolean;
        data: {
            entities: any[];
            count: number;
            totalAvailable: number;
            hasMore: string | true;
            continuationToken: string;
            queryInfo: {
                filter: string;
                select: string[];
                orderBy: string[];
                top: number;
                skip: number;
            };
        };
        tableName: string;
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        tableName: string;
        data?: undefined;
    }>;
    checkEntityExists(tableName: string, partitionKey: string, rowKey: string): Promise<{
        success: boolean;
        exists: boolean;
        data: {
            partitionKey: string;
            rowKey: string;
            entity: any;
            message: string;
        };
        tableName: string;
        error?: undefined;
    } | {
        success: boolean;
        exists: boolean;
        data: {
            partitionKey: string;
            rowKey: string;
            message: string;
            entity?: undefined;
        };
        tableName: string;
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        tableName: string;
        exists?: undefined;
        data?: undefined;
    }>;
    private groupEntitiesByPartition;
}
