import { FetchInstance } from '../composables';
type ResourceStoreConfig<TResource extends {
    id: string;
}> = {
    name: string;
    initialize: (fetch: FetchInstance) => Promise<TResource[]>;
    maxItems?: number;
};
export declare function defineResourceStore<TResource extends {
    id: string;
}>(config: ResourceStoreConfig<TResource>): () => {
    init: () => void;
    clear: () => void;
    isEmpty: boolean;
    firstItem: TResource | undefined;
    lastItem: TResource | undefined;
    collection: TResource[];
    addItems: (...items: TResource[]) => void;
    removeItems: (...items: TResource[]) => void;
    updateItems: (...items: TResource[]) => void;
};
export {};
