export type RepositoryRoleScope = { organizationId: string; workspaceId: string; repositoryBindingId: string; repositoryAgentId: string; endpointId: string; sourceFingerprint: string; }; export type RepositoryRoleInput = { expectedRevision: number; roleName: string; questionCategories: string[]; description: string; }; export type RepositoryRoleTransport = { signedGet(route: string): Promise>; signedPost(route: string, body: unknown): Promise>; }; export declare function registerRepositoryRoleMetadata(transport: RepositoryRoleTransport, scope: RepositoryRoleScope, input: RepositoryRoleInput): Promise<{ schema: "dharma.repository-role-metadata/v1"; organizationId: string; observationId: `${string}-${string}-${string}-${string}-${string}`; observedAt: string; integrity: { kind: string; sha256: string; }; scope: RepositoryRoleScope; operation: "register" | "discover"; stage: string; role: Record | null; discovery: Record | null; sharedRepositoryReady: boolean; communicationReady: boolean; sourceFingerprintVerified: boolean; currentAuthorizationVerified: boolean; contactAuthority: boolean; presence: string; limitations: string[]; }>; export declare function discoverRepositoryRoleMetadata(transport: RepositoryRoleTransport, scope: RepositoryRoleScope, category?: string): Promise<{ schema: "dharma.repository-role-metadata/v1"; organizationId: string; observationId: `${string}-${string}-${string}-${string}-${string}`; observedAt: string; integrity: { kind: string; sha256: string; }; scope: RepositoryRoleScope; operation: "register" | "discover"; stage: string; role: Record | null; discovery: Record | null; sharedRepositoryReady: boolean; communicationReady: boolean; sourceFingerprintVerified: boolean; currentAuthorizationVerified: boolean; contactAuthority: boolean; presence: string; limitations: string[]; }>; //# sourceMappingURL=repositoryRoleMetadata.d.ts.map