import { Client } from '../VizzlyConfig/types';
import { OriginId } from '@vizzly/semantic-layer-public';
import { ValidationErrorItem } from '@vizzly/joi';
export declare type ConfigSource = 'file' | 'environment' | 'github' | 's3' | 'vizzlyEncrypted' | 'customEndpoint';
export declare type ConfigSources = {
    connection: 'environment';
    dataSets: Array<ConfigSource>;
    saveLocations: Array<'file' | 'vizzlyEncrypted'>;
};
/** @deprecated */
export declare type QueryEngineStatusReport = {
    client: Client | null;
    projectId: string | undefined;
    configFound: boolean | null;
    configValid: boolean | null;
    connectionOk: boolean | null;
    message: string | string[];
    version: string;
    dataSetsCount: number | null;
    configSources: ConfigSources | null;
    allowGetStarted: boolean | null;
    strategy: 'dynamic' | 'static' | 'vizzlyApiStore';
};
/** Replaces QueryEngineStatusReport */
export declare type QueryEngineDescription = {
    projectId: string;
    version: string;
    remoteConfigEndpointSet: boolean;
    configs: Array<{
        source: {
            originId: OriginId;
            name: string;
            isMutable: boolean;
        };
        publicKeys: string[];
        connections: Array<{
            id: string;
            name: string;
            pingResult: boolean | null;
            client: Client;
        }>;
        dataSets: Array<{
            id: string;
            name: string;
            fieldCount: number;
        }>;
        sqlViews: Array<{
            id: string;
            name: string;
            usingDataSets: Array<{
                id: string;
                name: string;
            }>;
        }>;
        validationErrorDetails: ValidationErrorItem[] | null;
    }>;
};
