import { NamedQuery, NamedQueryState } from '../types'; /** * Provides run-time access to Named Queries */ export interface NamedQueryApi { /** * Adds a new Named Query to Adaptable State * @param namedQueries */ addNamedQuery(namedQueries: NamedQuery): void; /** * Adds multiple new Named Query to Adaptable State * @param namedQueries */ addNamedQueries(namedQueries: NamedQuery[]): void; /** * Retrieves Query section from Adaptable State * */ getNamedQueryState(): NamedQueryState; /** * Gets all Named Queries in Adaptable State */ getNamedQueries(): NamedQuery[]; /** * Retrieves Named Query with given name from State * @param namedQueryName Name of Named Query */ getNamedQueryByName(namedQueryName: string): NamedQuery | undefined; /** * Checks if the given Named Query has a valid name * @param namedQueryName Named Query */ isValidNamedQuery(namedQuery: NamedQuery): NamedQueryValidationResult; /** * Opens Settings Panel with Query section selected and visible */ openNamedQuerySettingsPanel(): void; /** * Runs the given Named Query * @param namedQuery Query to Run */ runNamedQuery(namedQuery: NamedQuery): void; /** * Runs Named Query which has given name * @param queryName Name of Named Query */ runQueryByName(queryName: string): void; } export interface NamedQueryValidationResult { valid: boolean; message: string; }