import React from 'react';
import { DayOfWeek } from '@mantine/dates';
import { Auth } from 'firebase/auth';
import { Firestore } from 'firebase/firestore';

interface CodeBattlesRequiredConfiguration {
    firebase: any;
    parameters: Record<string, string[]>;
}
interface CodeBattlesDatesConfiguration {
    locale?: string;
    firstDayOfWeek?: DayOfWeek;
    weekendDays?: DayOfWeek[];
}
interface CodeBattlesOptionalConfiguration {
    primaryColor: string;
    admin: string;
    title: string;
    firestore: Firestore;
    authentication: Auth;
    runningCountOptions?: number[];
    dates?: CodeBattlesDatesConfiguration;
    parameterIcons?: Record<string, string>;
}
interface CodeBattlesConfiguration extends CodeBattlesRequiredConfiguration, Partial<CodeBattlesOptionalConfiguration> {
}

interface Props$1 {
    blocks?: React.ReactNode;
    routes: Record<string, React.ReactNode>;
    configuration: CodeBattlesConfiguration;
}
declare const CodeBattles: React.FC<Props$1>;

interface Props extends React.PropsWithChildren {
    title: string;
    logo: string;
    inline?: boolean;
}
declare const Block: React.FC<Props>;

declare const initialize: () => void;

declare global {
    interface Window {
        mainAudio?: HTMLAudioElement;
    }
}

export { Block, CodeBattles, initialize };
export type { CodeBattlesConfiguration };
