import type { Logger } from '../log/index.ts';
import type { KeetaAnchorQueueEntry, KeetaAnchorQueueEntryAncillaryData, KeetaAnchorQueueRequestID, KeetaAnchorQueueStatus } from './index.ts';
export declare function MethodLogger<T extends Logger | undefined>(input: T, from: {
    file: string;
    method: string;
    class: string;
    instanceID: string;
}): T extends Logger ? Logger : undefined;
type StatusUpdateResult<QueueResult> = Pick<Partial<KeetaAnchorQueueEntry<unknown, QueueResult>>, 'lastError' | 'failures' | 'output'> & Pick<KeetaAnchorQueueEntry<unknown, QueueResult>, 'status' | 'worker' | 'updated'>;
export declare function ManageStatusUpdates<QueueResult>(id: KeetaAnchorQueueRequestID, existingEntry: Pick<KeetaAnchorQueueEntry<unknown, QueueResult>, 'status' | 'failures'>, status: KeetaAnchorQueueStatus, ancillary?: KeetaAnchorQueueEntryAncillaryData<QueueResult>, logger?: Logger): StatusUpdateResult<QueueResult>;
/**
 * Convert a string to a KeetaAnchorQueueRequestID (branded string type)
 *
 * Use only when appropriate, such as when receiving a request ID from an
 * external source or generating a new one.
 */
export declare function ConvertStringToRequestID(input: string | KeetaAnchorQueueRequestID): KeetaAnchorQueueRequestID;
export declare function ConvertStringToRequestID(input: string | KeetaAnchorQueueRequestID | undefined): KeetaAnchorQueueRequestID | undefined;
export {};
//# sourceMappingURL=internal.d.ts.map