import { type ConversationGrant, type ConversationPending, type ConversationSelection } from "@cotal-ai/core"; import { type MeshTarget } from "@cotal-ai/workspace"; /** A connected conversation identity: its environment, where to retire it, and its exact grant. */ export interface UserAppConnection { env: Record; retire: { dir: string; }; grant: ConversationGrant; } /** The session key is supplied by the native host, not guessed from a parent pid or an open inbox. * A new request waits for a person's approval: until it is decided this returns `pending`, and * connecting again replays the same saved request and secret. */ export declare function provisionUserApp(target: MeshTarget, name: string, session: string | undefined, events: boolean, selection?: ConversationSelection): Promise; export declare function isUserAppDir(dir: string): boolean; /** Retain the record and secret until exact lifecycle revocation and footprint cleanup are observed. */ export declare function retireUserApp(dir: string): Promise; /** Retire this mesh's saved conversations whose consumer process is provably gone, such as a * gateway killed before it could retire them. A live or unknown consumer keeps its identity, and a * retirement that does not finish stays saved for a later run. A live record is never locked. */ export declare function retireDeadUserApps(target: MeshTarget): Promise; //# sourceMappingURL=app-user-identity.d.ts.map