/**
 * This is an example of how to generate a strict context provider
 */
import { CoreEngine } from '../../../app/engine.js';
import { Context as CoreContext, ContextState as CoreContextState, ContextProps as CoreContextProps } from './headless-core-context.js';
export interface ContextProps extends CoreContextProps {
}
/**
 * The `Context` controller exposes methods for managing the global context in a commerce interface.
 */
export interface CaseContext extends CoreContext {
    /**
     * Sets the case ID.
     * @param caseId - The new case ID.
     */
    setCaseId(caseId: string): void;
    /**
     * Sets the case number.
     * @param language - The new case number.
     */
    setCaseNumber(caseNumber: string): void;
    /**
     * A scoped and simplified part of the headless state that is relevant to the `Context` controller.
     */
    state: CaseContextState;
}
export interface CaseContextState extends CoreContextState {
    caseId: string;
    caseNumber: string;
}
export type CaseContextControllerState = CaseContext['state'];
export declare const createCaseContext: (engine: CoreEngine, props: ContextProps) => CaseContext, mixinCaseContext: <InputContext extends CoreContext>(engine: CoreEngine, props: ContextProps, context: InputContext) => InputContext & CaseContext;
