- Introduced blog routing using Next.js App Router - Implemented dynamic [slug] pages for blog posts - Added MDX-based content loading via lib/posts - Integrated shared TopBar layout with navigation - Established clear content, lib and component separation
15 lines
445 B
TypeScript
15 lines
445 B
TypeScript
import type { AfterContextOpts } from './after-context';
|
|
type Ctx = {
|
|
waitUntil: NonNullable<AfterContextOpts['waitUntil']>;
|
|
onClose: NonNullable<AfterContextOpts['onClose']>;
|
|
onTaskError: NonNullable<AfterContextOpts['onTaskError']>;
|
|
};
|
|
export declare class AfterRunner {
|
|
private awaiter;
|
|
private closeController;
|
|
private finishedWithoutErrors;
|
|
readonly context: Ctx;
|
|
executeAfter(): Promise<void>;
|
|
}
|
|
export {};
|