import * as plugins from './plugins.js'; import { type IFlexModelChoice, type IFlexPublicAccountSummary } from './interfaces.flexipc.js'; import { type IFlexProjectionSourceManifest } from './classes.flexmodels.public.js'; export declare const flexPrivateChunkBytes: number; export type TFlexDomainKind = 'scope' | 'projection' | 'permission' | 'agentEvents' | 'agentArchive' | 'jobs'; export interface IFlexPrivateChunkManifest { id: string; index: number; sha256: string; bytes: number; } export interface IFlexPrivateCandidateManifest { candidateId: string; revision: number; sha256: string; bytes: number; chunks: IFlexPrivateChunkManifest[]; } export interface IFlexPrivateChunkDocument extends IFlexPrivateChunkManifest { controllerId: string; scopeId: string; candidateId: string; revision: number; data: string; createdAt: string; domain?: TFlexDomainKind; incarnationId?: string; sessionId?: string; archiveId?: string; } export interface IFlexPrivateCandidateDocument extends IFlexPrivateCandidateManifest { id: string; controllerId: string; scopeId: string; createdAt: string; domain?: TFlexDomainKind; incarnationId?: string; sessionId?: string; archiveId?: string; } export interface IFlexDomainHeadDocument { id: string; controllerId: string; storageKey: string; domain: TFlexDomainKind; incarnationId: string; revision: number; currentPrivateCandidateId: string; privateCandidate: IFlexPrivateCandidateManifest; projectionSource?: IFlexProjectionSourceManifest; sessionId?: string; archiveId?: string; } export interface IFlexWriterLeaseDocument { id: string; controllerId: string; storageKey: string; ownerToken: string; epoch: number; state: 'active' | 'released'; expiresAt: number; updatedAt: string; } export interface IFlexMigrationDocument { id: string; controllerId: string; storageKey: string; migration: 'flexharness-v3'; legacyRevision: number; legacyCandidateId: string; completedAt: string; } export interface IFlexLegacyPublicCandidateManifest { candidateId: string; revision: number; sha256: string; bytes: number; sessionRecords: Array<{ id: string; sha256: string; bytes: number; }>; messageRecords: Array<{ id: string; sha256: string; bytes: number; }>; sessionsTruncated: boolean; messagesTruncated: boolean; messageBytesTruncated: boolean; } export interface IFlexHeadDocument { id: string; controllerId: string; storageKey: string; revision: number; currentPrivateCandidateId: string; currentPublicCandidateId: string; privateCandidates: IFlexPrivateCandidateManifest[]; publicCandidates: IFlexLegacyPublicCandidateManifest[]; } export interface IFlexProviderConnectionDocument { id: string; controllerId: string; providerId: 'openai'; state: 'pending' | 'active' | 'deleting' | 'reauthRequired'; generation: number; createdAt: string; updatedAt: string; account?: IFlexPublicAccountSummary; } export interface IFlexModelChoiceDocument { id: string; controllerId: string; projectId: string; generation: number; choice: IFlexModelChoice; updatedAt: string; } export declare const isFlexPrivateChunkManifest: (valueArg: unknown) => valueArg is IFlexPrivateChunkManifest; export declare const isFlexPrivateCandidateManifest: (valueArg: unknown) => valueArg is IFlexPrivateCandidateManifest; export declare function assertFlexPrivateChunkDocument(valueArg: unknown): asserts valueArg is IFlexPrivateChunkDocument; export declare function assertFlexPrivateCandidateDocument(valueArg: unknown): asserts valueArg is IFlexPrivateCandidateDocument; export declare function assertFlexHeadDocument(valueArg: unknown): asserts valueArg is IFlexHeadDocument; export declare function assertFlexDomainHeadDocument(valueArg: unknown): asserts valueArg is IFlexDomainHeadDocument; export declare function assertFlexWriterLeaseDocument(valueArg: unknown): asserts valueArg is IFlexWriterLeaseDocument; export declare function assertFlexMigrationDocument(valueArg: unknown): asserts valueArg is IFlexMigrationDocument; export declare function assertFlexProviderConnectionDocument(valueArg: unknown): asserts valueArg is IFlexProviderConnectionDocument; export declare function assertFlexModelChoiceDocument(valueArg: unknown): asserts valueArg is IFlexModelChoiceDocument; export declare class FlexPrivateChunkModel extends plugins.smartdata.SmartDataDbDoc { id: string; controllerId: string; scopeId: string; candidateId: string; revision: number; index: number; sha256: string; bytes: number; data: string; createdAt: string; domain?: TFlexDomainKind; incarnationId?: string; sessionId?: string; archiveId?: string; } export declare class FlexPrivateCandidateModel extends plugins.smartdata.SmartDataDbDoc { id: string; controllerId: string; scopeId: string; candidateId: string; revision: number; sha256: string; bytes: number; chunks: IFlexPrivateChunkManifest[]; createdAt: string; domain?: TFlexDomainKind; incarnationId?: string; sessionId?: string; archiveId?: string; } export declare class FlexHeadModel extends plugins.smartdata.SmartDataDbDoc { static exact: plugins.smartdata.TExact; id: string; controllerId: string; storageKey: string; revision: number; currentPrivateCandidateId: string; currentPublicCandidateId: string; privateCandidates: IFlexPrivateCandidateManifest[]; publicCandidates: IFlexLegacyPublicCandidateManifest[]; } export declare class FlexDomainHeadModel extends plugins.smartdata.SmartDataDbDoc { static exact: plugins.smartdata.TExact; id: string; controllerId: string; storageKey: string; domain: TFlexDomainKind; incarnationId: string; revision: number; currentPrivateCandidateId: string; privateCandidate: IFlexPrivateCandidateManifest; projectionSource?: IFlexProjectionSourceManifest; sessionId?: string; archiveId?: string; } export declare class FlexWriterLeaseModel extends plugins.smartdata.SmartDataDbDoc { static exact: plugins.smartdata.TExact; id: string; controllerId: string; storageKey: string; ownerToken: string; epoch: number; state: 'active' | 'released'; expiresAt: number; updatedAt: string; } export declare class FlexMigrationModel extends plugins.smartdata.SmartDataDbDoc { static exact: plugins.smartdata.TExact; id: string; controllerId: string; storageKey: string; migration: 'flexharness-v3'; legacyRevision: number; legacyCandidateId: string; completedAt: string; } export declare const flexDomainHeadId: (controllerIdArg: string, storageKeyArg: string, domainArg: TFlexDomainKind, sessionIdArg?: string, archiveIdArg?: string) => string; export declare const flexWriterLeaseId: (controllerIdArg: string, storageKeyArg: string) => string; export declare const flexMigrationId: (controllerIdArg: string, storageKeyArg: string) => string; export declare class FlexProviderConnectionModel extends plugins.smartdata.SmartDataDbDoc { id: string; controllerId: string; providerId: 'openai'; state: IFlexProviderConnectionDocument['state']; generation: number; createdAt: string; updatedAt: string; account?: IFlexPublicAccountSummary; } export declare class FlexModelChoiceModel extends plugins.smartdata.SmartDataDbDoc { id: string; controllerId: string; projectId: string; generation: number; choice: IFlexModelChoice; updatedAt: string; } export declare const registerFlexPrivateModels: (managerArg: { db: plugins.smartdata.SmartdataDb; }) => void; export declare const initFlexPrivateModels: () => Promise;