import { IStateDump } from '@mcph/miix-std/dist/internal';
/**
 * Orientation is given to size() to determine the device orientation.
 * Landscape is the default orientation.
 */
export declare enum CodeState {
    Scenes = 0,
    Participant = 1,
    Groups = 2,
    Closed = 3,
    Console = 4,
    History = 5,
}
/**
 * Max enum value when the code editor should still be shown.
 */
export declare const MaxEditableState: CodeState;
/**
 * ICodeState is the state is the editor's code editor.
 */
export interface ICodeState {
    state: CodeState;
    /**
     * given in pixels, 0 to 100
     */
    width: number;
    /**
     * Raw json5 data for the participant model. Split by lines of code
     * (primarily to make diffing faster).
     */
    participant: string[];
    /**
     * Raw json5 data for the controls model. Split by lines of code
     * (primarily to make diffing faster).
     */
    scenes: string[];
    /**
     * Raw json5 data for the groups. Split by lines of code
     * (primarily to make diffing faster).
     */
    groups: string[];
}
export declare const enum Action {
    SetState = "CODE_SET_STATE",
    Resize = "CODE_RESIZE",
    SetParticipant = "CODE_SET_PARTICIPANT",
    SetScenes = "CODE_SET_SCENES",
    SetGroups = "CODE_SET_GROUPS",
}
export declare const stateToProp: {
    [key: number]: keyof IStateDump;
};
export declare const stateToUpdateAction: {
    [key: number]: Action;
};
export declare const initialState: {
    state: CodeState;
    width: number;
    participant: string[];
    scenes: string[];
    groups: string[];
};
export declare function reducer(state: ICodeState, action: any): ICodeState;
