import { DayOfWeek } from "@mantine/dates";
import type { Auth } from "firebase/auth";
import type { 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>;
}
export interface CodeBattlesConfiguration extends CodeBattlesRequiredConfiguration, Partial<CodeBattlesOptionalConfiguration> {
}
interface CodeBattlesFullConfiguration extends CodeBattlesRequiredConfiguration, CodeBattlesOptionalConfiguration {
}
export declare const DEFAULT_CONFIGURATION: Partial<CodeBattlesOptionalConfiguration>;
declare const ConfigurationContext: import("react").Context<CodeBattlesFullConfiguration | undefined>;
export default ConfigurationContext;
/** Use only inside {@link CodeBattlesProvider} */
export declare const useFirestore: () => Firestore;
/** Use only inside {@link CodeBattlesProvider} */
export declare const useAuthentication: () => Auth;
/** Use only inside {@link CodeBattlesProvider} */
export declare const useConfiguration: () => CodeBattlesFullConfiguration;
