import { Part } from '../../part.js';
import { PartComponent } from '../../component.js';
import { EventEmitter } from '@kano/common/index.js';
declare class DataComponent extends PartComponent {
    updated: EventEmitter;
}
export declare abstract class DataPart<T> extends Part {
    data: DataComponent;
    protected value: T | null;
    constructor();
    static getBaseUrl(): string;
    refresh(): Promise<void>;
    onStop(): void;
    onUpdate(callback: () => void): void;
    abstract query(): Promise<T>;
}
export {};
