import type { GenericMessage } from './message-types.js';
import type { DwnInterfaceName, DwnMethodName } from '../index.js';
export declare type PermissionScope = {
    interface: DwnInterfaceName;
    method: DwnMethodName;
};
export declare type PermissionConditions = {
    publication?: boolean;
};
export declare type PermissionsRequestDescriptor = {
    interface: DwnInterfaceName.Permissions;
    method: DwnMethodName.Request;
    messageTimestamp: string;
    grantedFor: string;
    grantedTo: string;
    grantedBy: string;
    description?: string;
    scope: PermissionScope;
    conditions?: PermissionConditions;
};
export declare type PermissionsRequestMessage = GenericMessage & {
    descriptor: PermissionsRequestDescriptor;
};
export declare type PermissionsGrantDescriptor = {
    interface: DwnInterfaceName.Permissions;
    method: DwnMethodName.Grant;
    messageTimestamp: string;
    permissionsRequestId?: string;
    dateExpires?: string;
    grantedFor: string;
    grantedTo: string;
    grantedBy: string;
    description?: string;
    scope: PermissionScope;
    conditions?: PermissionConditions;
};
export declare type PermissionsGrantMessage = GenericMessage & {
    descriptor: PermissionsGrantDescriptor;
};
//# sourceMappingURL=permissions-types.d.ts.map