## Beta API Report File for "@fluidframework/matrix"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

// @beta @legacy (undocumented)
export interface IRevertible {
    // (undocumented)
    discard(): void;
    // (undocumented)
    revert(): void;
}

// @beta @legacy (undocumented)
export interface ISharedMatrix<T = any> extends IEventProvider<ISharedMatrixEvents<T>>, IMatrixProducer<MatrixItem<T>>, IMatrixReader<MatrixItem<T>>, IMatrixWriter<MatrixItem<T>>, IChannel {
    insertCols(colStart: number, count: number): void;
    insertRows(rowStart: number, count: number): void;
    isSetCellConflictResolutionPolicyFWW(): boolean;
    openUndo(consumer: IUndoConsumer): void;
    removeCols(colStart: number, count: number): void;
    removeRows(rowStart: number, count: number): void;
    setCells(rowStart: number, colStart: number, colCount: number, values: readonly MatrixItem<T>[]): void;
    switchSetCellPolicy(): void;
}

// @beta @legacy
export interface ISharedMatrixEvents<T> extends IEvent {
    (event: "conflict", listener: (row: number, col: number, currentValue: MatrixItem<T>, conflictingValue: MatrixItem<T>, target: IEventThisPlaceHolder) => void): void;
}

// @beta @legacy (undocumented)
export interface IUndoConsumer {
    // (undocumented)
    pushToCurrentOperation(revertible: IRevertible): void;
}

// @beta @legacy
export type MatrixItem<T> = Serializable<Exclude<T, null>> | undefined;

// @beta @legacy
export const SharedMatrix: ISharedObjectKind<ISharedMatrix<any>> & SharedObjectKind<ISharedMatrix<any>>;

// @beta @legacy
export type SharedMatrix<T = any> = ISharedMatrix<T>;

// @beta @deprecated @legacy
export class SharedMatrixFactory implements IChannelFactory<ISharedMatrix> {
    // (undocumented)
    static readonly Attributes: IChannelAttributes;
    // (undocumented)
    get attributes(): IChannelAttributes;
    // (undocumented)
    create(document: IFluidDataStoreRuntime, id: string): ISharedMatrix & IChannel;
    load(runtime: IFluidDataStoreRuntime, id: string, services: IChannelServices, attributes: IChannelAttributes): Promise<ISharedMatrix & IChannel>;
    // (undocumented)
    static Type: string;
    // (undocumented)
    get type(): string;
}

// (No @packageDocumentation comment for this package)

```
