// Not possible to exact from typescript interfaces at runtime.

export type SchemaStructure = Record<string, 'string' | 'number' | 'boolean' | string[]>;

export const VideoSchema: SchemaStructure = {
	author: 'string',
	authorId: 'string',
	authorUrl: 'string',
	authorVerified: 'boolean',
	published: 'number',
	publishedText: 'string',
	title: 'string',
	type: ['video', 'shortVideo', 'stream'],
	videoId: 'string',
	viewCount: 'number',
	viewCountText: 'string',
	lengthSeconds: 'number',
	premiereTimestamp: 'number',
	isUpcoming: 'boolean',
	premium: 'boolean'
};

export const ChannelSchema: SchemaStructure = {
	author: 'string',
	authorId: 'string',
	authorUrl: 'string',
	authorVerified: 'boolean',
	autoGenerated: 'boolean',
	channelHandle: 'string',
	description: 'string',
	subCount: 'number'
};
