@knapsack/app
Version:
Build Design Systems with Knapsack
85 lines • 3.21 kB
TypeScript
import { EventEmitter } from 'events';
import { type KnapsackPattern } from '@knapsack/types';
import type { KnapsackConfig } from '../types/knapsack-config';
declare const EVENTS: {
CONFIG_READY: string;
PATTERNS_DATA_READY: string;
PATTERN_TEMPLATE_ADDED: string;
PATTERN_TEMPLATE_CHANGED: string;
PATTERN_TEMPLATE_REMOVED: string;
PATTERN_ASSET_CHANGED: string;
PATTERN_CONFIG_CHANGED: string;
DESIGN_TOKENS_CHANGED: string;
SHUTDOWN: string;
REQUEST_RENDERER_CLIENT_RELOAD: string;
APP_CLIENT_DATA_CHANGED: string;
};
export interface Event {
type: string;
data: Record<string, unknown>;
}
export interface PatternAssetChangedEvent extends Event {
type: typeof EVENTS.PATTERN_ASSET_CHANGED;
data: {
/** File path */
path: string;
};
}
export interface PatternsDataReadyEvent extends Event {
type: typeof EVENTS.PATTERNS_DATA_READY;
data: {
patterns: KnapsackPattern[];
};
}
export interface PatternTemplateChangedEvent extends Event {
type: typeof EVENTS.PATTERN_TEMPLATE_CHANGED;
data: {
path: string;
renderer?: string;
};
}
export interface DesignTokensChangedEvent extends Event {
type: typeof EVENTS.DESIGN_TOKENS_CHANGED;
data: Record<string, unknown>;
}
export interface ConfigReadyEvent extends Event {
type: typeof EVENTS.CONFIG_READY;
data: KnapsackConfig;
}
export interface RequestRendererClientReloadEvent extends Event {
type: typeof EVENTS.REQUEST_RENDERER_CLIENT_RELOAD;
data: {
patternId?: string;
templateId?: string;
assetSetId?: string;
};
}
export interface AppClientDataChangedEvent extends Event {
type: typeof EVENTS.APP_CLIENT_DATA_CHANGED;
}
declare class KnapsackEventEmitter extends EventEmitter {
debouncedEmit: ((eventName: string, eventData: any) => void) & {
clear(): void;
} & {
flush(): void;
};
onPatternAssetChange(handle: (data: PatternAssetChangedEvent['data']) => void): void;
emitPatternAssetChanged(data: PatternAssetChangedEvent['data']): void;
onAppClientDataChange(handle: () => void): void;
emitAppClientDataChanged(): void;
onPatternsDataReady(handle: (event: PatternsDataReadyEvent['data']) => void): void;
emitPatternsDataReady(data: PatternsDataReadyEvent['data']): void;
onPatternTemplateChanged(handle: (data: PatternTemplateChangedEvent['data']) => void): void;
emitPatternTemplateChanged(data: PatternTemplateChangedEvent['data']): void;
onShutdown(handle: () => void): void;
emitShutdown(): void;
onDesignTokensChanged(handle: (data: DesignTokensChangedEvent['data']) => void): void;
emitDesignTokensChanged(data?: DesignTokensChangedEvent['data']): void;
onConfigReady(handle: (data: ConfigReadyEvent['data']) => void): void;
emitConfigReady(data: ConfigReadyEvent['data']): void;
onRequestRendererClientReload(handle: (data: RequestRendererClientReloadEvent['data']) => void): void;
emitRequestRendererClientReload(data?: RequestRendererClientReloadEvent['data']): void;
}
export declare const knapsackEvents: KnapsackEventEmitter;
export {};
//# sourceMappingURL=events.d.ts.map