export type OceanFixturePreset = "calm" | "moderate" | "rough" | "storm";
export interface OceanFixtureOptions {
    readonly preset?: OceanFixturePreset;
    readonly seed?: number;
    readonly elapsedSeconds?: number;
    readonly sampleCount?: number;
    readonly cameraX?: number;
}
export interface OceanWaveDescriptor {
    readonly amplitude: number;
    readonly wavelength: number;
    readonly speed: number;
    readonly direction: readonly [number, number];
    readonly steepness: number;
}
export interface OceanWaveSample {
    readonly x: number;
    readonly z: number;
    readonly height: number;
    readonly horizontalDisplacement: readonly [number, number];
    readonly normal: readonly [number, number, number];
    readonly foam: number;
}
export interface OceanFoamPatch {
    readonly id: string;
    readonly x: number;
    readonly z: number;
    readonly intensity: number;
    readonly radius: number;
}
export interface OceanBuoyancySample {
    readonly objectId: "marker-buoy";
    readonly samplePointCount: number;
    readonly submergedPointCount: number;
    readonly waterHeight: number;
    readonly submergedVolume: number;
    readonly force: readonly [number, number, number];
    readonly drag: readonly [number, number, number];
}
export interface OceanFixtureSample {
    readonly id: "external-parity-old-branch-ocean-fixture";
    readonly source: "origin-master-ocean-gerstner-foam-buoyancy-adapted";
    readonly sourceFiles: readonly string[];
    readonly preset: OceanFixturePreset;
    readonly seed: number;
    readonly elapsedSeconds: number;
    readonly waveCount: number;
    readonly waves: readonly OceanWaveDescriptor[];
    readonly samples: readonly OceanWaveSample[];
    readonly foamPatches: readonly OceanFoamPatch[];
    readonly buoyancy: OceanBuoyancySample;
    readonly minHeight: number;
    readonly maxHeight: number;
    readonly averageHeight: number;
    readonly averageFoam: number;
    readonly maxFoam: number;
    readonly hash: string;
    readonly claimBoundary: string;
    readonly blockedClaims: readonly string[];
}
export declare function sampleOceanFixture(options?: OceanFixtureOptions): OceanFixtureSample;
//# sourceMappingURL=OceanFixtures.d.ts.map