import type { AgPropertyChangedEvent, AgPropertyChangedSource, AgPropertyValueChangedEvent, AgPropertyValueChangedListener, IPropertiesService } from './agStack/interfaces/iProperties'; import type { NamedBean } from './context/bean'; import { BeanStub } from './context/beanStub'; import type { BeanCollection } from './context/context'; import type { ColDef, ColGroupDef } from './entities/colDef'; import type { GridOptions } from './entities/gridOptions'; import type { GridOptionOrDefault, GridOptionsWithDefaults } from './gridOptionsDefault'; import type { AgGridCommon, WithoutGridCommon } from './interfaces/iCommon'; import type { ModuleName, ValidationModuleName } from './interfaces/iModule'; import type { RowModelType } from './interfaces/iRowModel'; import type { AnyGridOptions } from './propertyKeys'; import type { MissingModuleErrors } from './validation/errorMessages/errorText'; type GetKeys = { [K in keyof T]: T[K] extends U | undefined ? K : never; }[keyof T]; /** * Get all the GridOption properties that strictly contain the provided type. * Does not include `any` properties. */ type KeysOfType = Exclude, AnyGridOptions>; type NoArgFuncs = KeysOfType<() => any>; type AnyArgFuncs = KeysOfType<(arg: 'NO_MATCH') => any>; type CallbackProps = Exclude) => any>, NoArgFuncs | AnyArgFuncs>; export type ExtractParamsFromCallback = TCallback extends (params: infer PA) => any ? PA : never; export type ExtractReturnTypeFromCallback = TCallback extends (params: AgGridCommon) => infer RT ? RT : never; type WrappedCallback = undefined | ((params: WithoutGridCommon>) => ExtractReturnTypeFromCallback); export type PropertyChangedEvent = AgPropertyChangedEvent; export type PropertyValueChangedEvent = AgPropertyValueChangedEvent; type PropertyValueChangedListener = AgPropertyValueChangedListener; export declare class GridOptionsService extends BeanStub implements NamedBean, IPropertiesService> { beanName: "gos"; private gridOptions; private validation?; private api; private gridId; wireBeans(beans: BeanCollection): void; private readonly domDataKey; /** This is only used for the main DOM element */ private readonly instanceId; private gridReadyFired; private queueEvents; private get gridOptionsContext(); private readonly propEventSvc; postConstruct(): void; destroy(): void; /** * Get the raw value of the GridOptions property provided. * @param property */ get(property: K): GridOptionOrDefault; /** * Get the GridOption callback but wrapped so that the common params of api and context are automatically applied to the params. * @param property GridOption callback properties based on the fact that this property has a callback with params extending AgGridCommon */ getCallback(property: K): WrappedCallback; /** * Returns `true` if a value has been specified for this GridOption. * @param property GridOption property */ exists(property: keyof GridOptions): boolean; /** * Wrap the user callback and attach the api and context to the params object on the way through. * @param callback User provided callback * @returns Wrapped callback where the params object not require api and context */ private mergeGridCommonParams; updateGridOptions({ options, force, source, }: { options: Partial; force?: boolean; source?: AgPropertyChangedSource; }): void; addPropertyEventListener(key: K, listener: PropertyValueChangedListener): void; removePropertyEventListener(key: K, listener: PropertyValueChangedListener): void; private readonly globalEventHandlerFactory; getDomDataKey(): string; /** Prefer _addGridCommonParams from gridOptionsUtils for bundle size savings */ addCommon, TData = any, TContext = any>(params: WithoutGridCommon): T; private validateOptions; private validateGridOptions; validateColDef(colDef: ColDef | ColGroupDef, colId: string, skipInferenceCheck?: boolean): void; assertModuleRegistered(moduleName: ValidationModuleName | ValidationModuleName[], reasonOrId: string | TId): boolean; getModuleErrorParams(): { gridScoped: boolean; gridId: string; rowModelType: RowModelType; isUmd: boolean; usesAgGridProvider: boolean; }; isModuleRegistered(moduleName: ModuleName): boolean; setInstanceDomData(element: HTMLElement): void; isElementInThisInstance(element: HTMLElement): boolean; } export {};