import type { Surface } from '../types.js';
export interface SurfaceFlowState {
    velocity: number;
    leftTravel: number;
    rightTravel: number;
}
export interface SettlingOptions {
    gravity: number;
    softness: number;
    sliding: boolean;
    maxDepth: number;
}
export interface SettlingResult {
    leftMass: number;
    rightMass: number;
    leftVelocity: number;
    rightVelocity: number;
    movedMass: number;
    detached: {
        localX: number;
        localY: number;
        mass: number;
        vx: number;
        vy: number;
    }[];
}
export declare function createSurfaceFlowState(): SurfaceFlowState;
/** Conservative finite-volume granular flow with material repose and support-frame inertia. */
export declare function settleSurface(surface: Surface, dt: number, options: SettlingOptions, state?: SurfaceFlowState): SettlingResult;
//# sourceMappingURL=settling.d.ts.map