import '../../../../../globals.js';
import { BufferSlot, CompositeModule, LinearEdge, MainTwoPassInitializeAddressesModule, MainTwoPassInitializeAddressesModuleOptions, MainTwoPassTileModule, MainTwoPassTileModuleOptions, PipelineBlueprintOptions, TextureViewSlot, TwoPassConfig, TwoPassInitialRenderableFace, TwoPassModule, TwoPassModuleOptions, WGSLExpressionU32 } from '../../../imports.js';
type SelfOptions = {
    config: BufferSlot<TwoPassConfig>;
    initialRenderableFaces: BufferSlot<TwoPassInitialRenderableFace[]>;
    initialEdges: BufferSlot<LinearEdge[]>;
    renderProgramInstructions: BufferSlot<number[]>;
    output: TextureViewSlot;
    storageFormat: GPUTextureFormat;
    numInitialRenderableFaces: WGSLExpressionU32;
    maxCoarseRenderableFaces?: number;
    maxCoarseEdges?: number;
};
type ParentOptions = {
    mainTwoPassTileModuleOptions?: Partial<MainTwoPassTileModuleOptions>;
    twoPassModuleOptions?: Partial<TwoPassModuleOptions>;
    mainTwoPassAtomicInitializeAddressesModuleOptions?: Partial<MainTwoPassInitializeAddressesModuleOptions>;
} & PipelineBlueprintOptions;
export type TiledTwoPassModuleOptions = SelfOptions & ParentOptions;
export declare const TILED_TWO_PASS_MODULE_DEFAULTS: {
    readonly mainTwoPassTileModuleOptions: {};
    readonly twoPassModuleOptions: {};
    readonly mainTwoPassAtomicInitializeAddressesModuleOptions: {};
    readonly maxCoarseRenderableFaces: number;
    readonly maxCoarseEdges: number;
};
export type TiledTwoPassRunSize = {
    numTiles: number;
    numBins: number;
    numInitialRenderableFaces: number;
};
export default class TiledTwoPassModule extends CompositeModule<TiledTwoPassRunSize> {
    readonly config: BufferSlot<TwoPassConfig>;
    readonly initialRenderableFaces: BufferSlot<TwoPassInitialRenderableFace[]>;
    readonly initialEdges: BufferSlot<LinearEdge[]>;
    readonly renderProgramInstructions: BufferSlot<number[]>;
    readonly output: TextureViewSlot;
    readonly initializeAddressesModule: MainTwoPassInitializeAddressesModule;
    readonly tileModule: MainTwoPassTileModule;
    readonly twoPassModule: TwoPassModule;
    constructor(providedOptions: TiledTwoPassModuleOptions);
}
export {};
//# sourceMappingURL=TiledTwoPassModule.d.ts.map