import { ImmutableMediaSegment, ImmutableMainPlaylist as ImmutableMainPlaylist, ImmutableMediaPlaylist as ImmutableMediaPlaylist } from './playlist.js';
import type { PropsOf } from './types.js';
export declare class PlaylistWriter {
    readonly playlist: PropsOf<ImmutableMainPlaylist | ImmutableMediaPlaylist>;
    constructor(playlist: PropsOf<ImmutableMainPlaylist | ImmutableMediaPlaylist>);
    compile(pusher: (...lines: string[]) => void): void;
    toString(): string;
    _writeShared(playlist: PropsOf<ImmutableMainPlaylist | ImmutableMediaPlaylist>): void;
    _writeMain(playlist: PropsOf<ImmutableMainPlaylist>): void;
    _writeMedia(playlist: PropsOf<ImmutableMediaPlaylist>): void;
    _writeSegment(segment: PropsOf<ImmutableMediaSegment>): void;
    _push(...lines: string[]): void;
    _ext(ext: string, value?: string | number | boolean | Date): void;
}
