import type { ArtifactStore } from '../../artifacts/index.js';
import type { KnowledgeStore } from '../store.js';
import type { KnowledgeSourceRecord } from '../types.js';
import { readHomeGraphState } from './state.js';
import type { HomeGraphDevicePassportResult, HomeGraphGeneratedPagesSummary, HomeGraphProjectionInput, HomeGraphProjectionResult, HomeGraphSnapshotInput } from './types.js';
export interface HomeGraphPageContext {
    readonly store: KnowledgeStore;
    readonly artifactStore: ArtifactStore;
    readonly spaceId: string;
    readonly installationId: string;
}
export declare const HOME_GRAPH_PAGE_POLICY_VERSION = "homegraph-pages-v7";
interface DevicePassportSourceLookup {
    readonly sourcesById: ReadonlyMap<string, KnowledgeSourceRecord>;
    readonly sourceIdsByNodeId: ReadonlyMap<string, ReadonlySet<string>>;
}
type HomeGraphStateSnapshot = ReturnType<typeof readHomeGraphState>;
type ExtractionBySourceId = ReadonlyMap<string, ReturnType<KnowledgeStore['getExtractionBySourceId']>>;
export declare function generateAutomaticHomeGraphPages(context: HomeGraphPageContext & {
    readonly input: HomeGraphSnapshotInput;
}): Promise<HomeGraphGeneratedPagesSummary>;
export declare function refreshAutomaticHomeGraphPages(context: HomeGraphPageContext): Promise<HomeGraphGeneratedPagesSummary>;
export declare function refreshHomeGraphDevicePassport(context: HomeGraphPageContext & {
    readonly input: HomeGraphProjectionInput;
    readonly state?: HomeGraphStateSnapshot | undefined;
    readonly sourceLookup?: DevicePassportSourceLookup | undefined;
    readonly extractionsBySourceId?: ExtractionBySourceId | undefined;
    readonly signal?: AbortSignal | undefined;
}): Promise<HomeGraphDevicePassportResult & {
    readonly artifactCreated: boolean;
}>;
export declare function generateHomeGraphRoomPage(context: HomeGraphPageContext & {
    readonly input: HomeGraphProjectionInput;
}): Promise<HomeGraphProjectionResult & {
    readonly artifactCreated: boolean;
}>;
export declare function generateHomeGraphPacket(context: HomeGraphPageContext & {
    readonly input: HomeGraphProjectionInput;
}): Promise<HomeGraphProjectionResult & {
    readonly artifactCreated: boolean;
}>;
export {};
//# sourceMappingURL=generated-pages.d.ts.map