import { AuthorizationAgentFactory, CRUDRegistrySet, ReadableAccessAuthorization, CRUDSocialAgentRegistration, CRUDApplicationRegistration, ReadableWebIdProfile, ReadableDataRegistration, CRUDSocialAgentInvitation } from '@janeirodigital/interop-data-model'; import { WhatwgFetch, RdfFetch } from '@janeirodigital/interop-utils'; import { AccessAuthorizationStructure } from './authorization'; interface AuthorizationAgentDependencies { fetch: WhatwgFetch; randomUUID(): string; } export interface AgentWithAccess { agent: string; dataAuthorization: string; accessMode: string[]; } export type ShareDataInstanceStructure = { applicationId: string; resource: string; accessMode: string[]; children: { shapeTree: string; accessMode: string[]; }[]; agents: string[]; }; export declare class AuthorizationAgent { webId: string; agentId: string; factory: AuthorizationAgentFactory; rawFetch: WhatwgFetch; fetch: RdfFetch; webIdProfile: ReadableWebIdProfile; registrySet: CRUDRegistrySet; constructor(webId: string, agentId: string, dependencies: AuthorizationAgentDependencies); get accessAuthorizations(): AsyncIterable; get applicationRegistrations(): AsyncIterable; findApplicationRegistration(iri: string): Promise; get socialAgentRegistrations(): AsyncIterable; findSocialAgentRegistration(iri: string): Promise; get socialAgentInvitations(): AsyncIterable; findSocialAgentInvitation(iri: string): Promise; findDataRegistration(dataRegistryIri: string, shapeTree: string): Promise; private bootstrap; static build(webId: string, agentId: string, dependencies: AuthorizationAgentDependencies): Promise; recordAccessAuthorization(authorization: AccessAuthorizationStructure, extendIfExists?: boolean): Promise; generateAccessGrant(accessAuthorizationIri: string): Promise; updateDelegatedGrants(dataOwner: string): Promise; findSocialAgentsWithAccess(dataInstanceIri: string): Promise; findAgentsWithAccess(dataInstanceIri: string): Promise; private formatAuthorization; shareDataInstance(details: ShareDataInstanceStructure): Promise; } export {}; //# sourceMappingURL=authorization-agent.d.ts.map