import type { Representation } from '../http/representation/Representation';
import type { RepresentationPreferences } from '../http/representation/RepresentationPreferences';
import type { ResourceIdentifier } from '../http/representation/ResourceIdentifier';
import type { Conditions } from './conditions/Conditions';
import { PassthroughStore } from './PassthroughStore';
import type { ResourceStore } from './ResourceStore';
/**
 * Resource store that slices the data stream if there are range preferences.
 * Only works for `bytes` range preferences on binary data streams.
 * Does not support multipart range requests.
 *
 * If the slice happens, unit/start/end values will be written to the metadata to indicate such.
 * The values are dependent on the preferences we got as an input,
 * as we don't know the actual size of the data stream.
 */
export declare class BinarySliceResourceStore<T extends ResourceStore = ResourceStore> extends PassthroughStore<T> {
    protected readonly logger: import("..").Logger;
    getRepresentation(identifier: ResourceIdentifier, preferences: RepresentationPreferences, conditions?: Conditions): Promise<Representation>;
}
