export interface TableSchema {
    TableName: string;
    ColumnName: string;
    ColumnType: string;
    IsNullable: boolean;
    Description?: string;
}
export interface TableInfo {
    name: string;
    orderedColumns: {
        name: string;
        type: string;
        cslType: string;
    }[];
}
export declare class KustoService {
    private static credential;
    private static getCredential;
    private static createConnectionString;
    /**
     * Get a client for a specific cluster URL and database
     */
    private static getClient;
    /**
     * Execute a KQL query against the Kusto database
     */
    static executeQuery(clusterUrl: string, database: string, query: string): Promise<any>;
    /**
     * Get list of tables in the database
     */
    static getTables(clusterUrl: string, database: string): Promise<{
        TableName: string;
        IsExternal: boolean;
    }[]>;
    /**
     * Get detailed schema information for all tables in the database
     */
    static getAllTableSchemas(clusterUrl: string, database: string): Promise<Record<string, TableInfo>>;
    /**
     * Get the schema for a specific table
     */
    static getTableSchema(clusterUrl: string, database: string, tableName: string, isExternal?: boolean): Promise<any>;
    /**
     * Get sample data from a table (top N rows)
     */
    static getTableSample(clusterUrl: string, database: string, tableName: string, sampleSize?: number): Promise<any[]>;
    /**
     * Check if the connection to Kusto is working properly
     */
    static testConnection(clusterUrl: string, database: string): Promise<boolean>;
}
