/**
 * Default formatter name → function resolution without importing {@link Format}.
 * `./defaults/formatters` must call {@link setDefaultFormattersRegistry} after the map is built.
 *
 * Implementation lives on {@link formatterLookup} so browser tests can
 * `sinon.stub(formatterLookup, 'lookupFormatter')` (ES module namespaces cannot be stubbed).
 */
export type FormatterFn = (cell: any, params: any, onRendered: (callback: () => void) => void) => any;
export declare function setDefaultFormattersRegistry(map: Record<string, FormatterFn>): void;
export declare const formatterLookup: {
    /**
     * @param explicitRegistry - When provided, that map is used. When omitted, uses the registry set
     *   by {@link setDefaultFormattersRegistry}
     */
    lookupFormatter(formatter: string | ((cell: any, params: any, onRendered: (callback: () => void) => void) => any) | undefined, explicitRegistry?: Record<string, FormatterFn> | null): FormatterFn;
};
export declare function lookupFormatter(formatter: Parameters<(typeof formatterLookup)['lookupFormatter']>[0], explicitRegistry?: Record<string, FormatterFn> | null): FormatterFn;
