import { ModelPtr } from './module'; import { Variable, VariableProperties } from './variable'; import { Constraint, ConstraintProperties } from './constraint'; import { StatusSimplex, StatusInterior, StatusMIP } from './status'; import { Interior } from './interior'; import { Simplex } from './simplex'; import { MIP } from './mip'; export interface ModelProperties { name?: string; sense?: 'min' | 'max'; } export interface VariableObject { [key: string]: Variable; } export interface VariablePropertiesObject { [key: string]: VariableProperties; } export declare class Model { readonly ptr: ModelPtr; private _vars; private _constrs; get vars(): readonly Variable[]; get constrs(): readonly Constraint[]; constructor(props?: ModelProperties); set name(name: string); get name(): string; static fromPointer(ptr: ModelPtr): Model; get value(): number; get valueInt(): number; get valueMIP(): number; get numVars(): number; get numConstrs(): number; get numNZs(): number; get numBinary(): number; get numInteger(): number; get status(): StatusSimplex; get statusPrimal(): StatusSimplex; get statusDual(): StatusSimplex; get statusInt(): StatusInterior; get statusMIP(): StatusMIP; addVars(count: number, props?: VariableProperties): Variable[]; addVars(keys: string[], props?: VariableProperties): VariableObject; addVars(props: VariableProperties[]): Variable[]; addVars(props: VariablePropertiesObject): VariableObject; addVar(props?: VariableProperties): Variable; private addVarsByProperties; private addVarsByCount; private addVarsByKeys; private addVarsFromPropertiesArray; addConstrs(count: number): Constraint[]; addConstrs(props: ConstraintProperties[]): Constraint[]; addConstrs(count: number, props: ConstraintProperties): Constraint[]; addConstr(props?: ConstraintProperties): Constraint; private addConstrsByProperties; private addConstrsByCount; update(): void; get sense(): 'min' | 'max'; set sense(sense: 'min' | 'max'); toModelLP(): string; _refreshVariables(): void; _refreshConstraints(): void; static fromModelLP(data: string): Model; toMPS(): string; static fromMPS(data: string, format?: 'deck' | 'file'): Model; simplex(opts?: Simplex.Options): Simplex.ReturnCode; exact(opts?: Simplex.Options): Simplex.ReturnCode; interior(opts?: Interior.Options): Interior.ReturnCode; intopt(opts?: MIP.Options): MIP.ReturnCode; get solution(): string; get solutionInt(): string; get solutionMIP(): string; get ray(): Variable | Constraint; getTableau(formatNumber?: (v: number) => string): string; }