58 lines
1.4 KiB
TypeScript
58 lines
1.4 KiB
TypeScript
declare module 'gifenc' {
|
|
interface GIFEncoderInstance {
|
|
writeFrame(
|
|
index: Uint8Array,
|
|
width: number,
|
|
height: number,
|
|
options?: {
|
|
palette?: number[][];
|
|
delay?: number;
|
|
repeat?: number;
|
|
transparent?: boolean;
|
|
transparentIndex?: number;
|
|
dispose?: number;
|
|
first?: boolean;
|
|
colorDepth?: number;
|
|
}
|
|
): void;
|
|
finish(): void;
|
|
bytes(): Uint8Array;
|
|
bytesView(): Uint8Array;
|
|
reset(): void;
|
|
readonly buffer: ArrayBuffer;
|
|
}
|
|
|
|
interface Gifenc {
|
|
GIFEncoder(): GIFEncoderInstance;
|
|
quantize(
|
|
data: Uint8Array,
|
|
maxColors: number,
|
|
options?: {
|
|
format?: 'rgb565' | 'rgb444' | 'rgba4444';
|
|
oneBitAlpha?: boolean | number;
|
|
clearAlpha?: boolean;
|
|
clearAlphaColor?: number;
|
|
clearAlphaThreshold?: number;
|
|
}
|
|
): number[][];
|
|
applyPalette(
|
|
data: Uint8Array,
|
|
palette: number[][],
|
|
format?: 'rgb565' | 'rgb444' | 'rgba4444'
|
|
): Uint8Array;
|
|
nearestColorIndex(palette: number[][], color: number[]): number;
|
|
prequantize(
|
|
data: Uint8Array,
|
|
options?: { roundRGB?: number; roundAlpha?: number; oneBitAlpha?: boolean | number }
|
|
): void;
|
|
snapColorsToPalette(
|
|
palette: number[][],
|
|
knownColors: number[][],
|
|
threshold?: number
|
|
): void;
|
|
}
|
|
|
|
const gifenc: Gifenc;
|
|
export default gifenc;
|
|
}
|