| 1 |
import ChangeDetails from '../core/change-details'; |
| 2 |
import { type AppendFlags } from './base'; |
| 3 |
import { type FactoryArg, type ExtendFactoryArgOptions, type UpdateOpts } from './factory'; |
| 4 |
import MaskedPattern, { type BlockExtraOptions, type MaskedPatternState } from './pattern'; |
| 5 |
import type PatternBlock from './pattern/block'; |
| 6 |
export type RepeatBlockExtraOptions = Pick<BlockExtraOptions, 'repeat'>; |
| 7 |
export type RepeatBlockOptions = ExtendFactoryArgOptions<RepeatBlockExtraOptions>; |
| 8 |
/** Pattern mask */ |
| 9 |
export default class RepeatBlock<M extends FactoryArg> extends MaskedPattern { |
| 10 |
_blockOpts: M & { |
| 11 |
repeat?: number; |
| 12 |
}; |
| 13 |
repeat: Required<RepeatBlockExtraOptions>['repeat']; |
| 14 |
get repeatFrom(): number; |
| 15 |
get repeatTo(): number; |
| 16 |
constructor(opts: RepeatBlockOptions); |
| 17 |
updateOptions(opts: UpdateOpts<RepeatBlockOptions>): void; |
| 18 |
_update(opts: UpdateOpts<M> & RepeatBlockExtraOptions): void; |
| 19 |
_allocateBlock(bi: number): PatternBlock | undefined; |
| 20 |
_appendCharRaw(ch: string, flags?: AppendFlags<MaskedPatternState>): ChangeDetails; |
| 21 |
_trimEmptyTail(fromPos?: number, toPos?: number): void; |
| 22 |
reset(): void; |
| 23 |
remove(fromPos?: number, toPos?: number): ChangeDetails; |
| 24 |
totalInputPositions(fromPos?: number, toPos?: number): number; |
| 25 |
get state(): MaskedPatternState; |
| 26 |
set state(state: MaskedPatternState); |
| 27 |
} |
| 28 |
//# sourceMappingURL=repeat.d.ts.map |