import type { ExtendableDataSourceDefinition, TokenState } from '@splunk/dashboard-types'; import type { DashboardDefinition } from '@splunk/dashboard-definition'; type RootDataSourcesDefinition = Record; /** * * @param {String} dataSourceId * @param {Object} definition data source definition * @returns {Boolean} */ export declare const isBaseDataSource: (dataSourceId: string, definition?: RootDataSourcesDefinition) => boolean; /** * * @param {String} dataSourceId * @param {Object} definition data source definition * @returns {Boolean} */ export declare const isChainDataSource: (dataSourceId: string, definition?: RootDataSourcesDefinition) => boolean; /** * * @param {String} dataSourceId * @param {Object} definition data source definition * @returns {Object} chain data sources */ export declare const getChainDataSources: (dataSourceId: string, definition?: RootDataSourcesDefinition) => RootDataSourcesDefinition; /** * * @param {String} dataSourceId * @param {Object} definition data source definition * @returns {Object} parent data source definition */ export declare const getParentDataSource: (dataSourceId: string, definition?: RootDataSourcesDefinition) => ExtendableDataSourceDefinition; /** * Merge base and sub searches with pipe '|' * @param {String} base * @param {String} sub */ export declare const mergeSearches: (base?: string, sub?: string) => string; /** * Creates a post search query array, containing all the descendant chain searches of a base search. * If shouldPreRunChainSearchesWithTokens=false, excludes chain searches and descendants that use tokens * @param {String} baseDataSourceId * @param {Object} definition data source definition * @param {Object} parentQuery used for function recursion * @param {boolean} param.shouldPreRunChainSearchesWithTokens if chain searches with tokens should be added to the array * @returns {Array} Post Search query array */ export declare const createPostSearchQueryArray: (baseDataSourceId: string, definition?: RootDataSourcesDefinition, parentQuery?: string, { shouldPreRunChainSearchesWithTokens, }?: { shouldPreRunChainSearchesWithTokens?: boolean; }) => string[]; /** * Reducer to filter out subset of searches that chain from the given search * @param {String} baseDataSourceId * @param {Object} definition data source definition * @returns {Object} baseChainModel */ export declare const createBaseChainModel: (baseDataSourceId: string, definition?: RootDataSourcesDefinition, result?: RootDataSourcesDefinition) => RootDataSourcesDefinition; /** * * @param {String} dataSourceId * @param {Object} definition ata source definition * @returns {String} */ export declare const getBaseDataSourceId: (dataSourceId: string, definition?: RootDataSourcesDefinition) => string | null; interface DataSourceMeta { savedSearchQuery?: string; earliestTime?: string; latestTime?: string; [key: string]: unknown; } interface GetCompleteSearchQueryProps { definition: DashboardDefinition; dataSourceId: string; getMetaData?: (dataSourceId: string) => DataSourceMeta; count?: number; submittedTokens?: TokenState; } /** * Fetch the complete SPL search of a datasource including its ancestors * @param {Object} definition DashboardDefinition * @param {String} dataSourceId * @param {Function} getMetaData A method used to get the query for a saved search * @param {Number} count * @param {Object} submittedTokens to replace $tokens$ in the query with current values * @returns {String} SPL search query of a data source and its ancestors */ export declare const getCompleteSearchQuery: ({ definition, dataSourceId, getMetaData, count, submittedTokens, }: GetCompleteSearchQueryProps) => string; interface GetBaseTimeProps { definition: DashboardDefinition; dataSourceId?: string; getMetaData?: (dataSourceId: string) => DataSourceMeta; } /** * Get earliest and latest query parameters of the highest ancestor in datasource chain * @param {Object} definition DashboardDefinition * @param {String} dataSourceId * @param {Function} getMetaData A method used to get the query for a saved search * @returns {Object} The search times of the base search of this datasource chain */ export declare const getBaseTime: ({ definition, dataSourceId, getMetaData, }: GetBaseTimeProps) => { earliest: string; latest: string; }; type GetCompleteSearchQueryAndParametersProps = GetBaseTimeProps & { submittedTokens?: TokenState; }; /** * Fetch the complete SPL search query and query parameters of a datasource including its ancestors * @param {DashboardDefinition} definition DashboardDefinition * @param {String} dataSourceId * @param {Function} getMetaData A method used to get the query for a saved search * @param {Object} submittedTokens Tokens we use in the query * @returns {Object} Search options including the query and query parameters */ export declare const getCompleteSearchQueryAndParameters: ({ definition, dataSourceId, getMetaData, submittedTokens, }: GetCompleteSearchQueryAndParametersProps) => { query?: string; queryParameters?: Record; }; export {}; //# sourceMappingURL=BaseChainUtils.d.ts.map